利用C语言开发一个“四则算术运算答题系统”,随机为用户出指定数量的100以内的算术 10

1)要求用户输入用户名,并输入要测试的试题的数目:如:请输入你的用户名:请输入试题数目:2)要求首先提示用户选择要进行的运算,如:请选择要进行的运算操作:1加法2减法3乘... 1) 要求用户输入用户名,并输入要测试的试题的数目:
如:请输入你的用户名:
请输入试题数目:
2) 要求首先提示用户选择要进行的运算,如:
请选择要进行的运算操作:1 加法
2 减法
3 乘法
4 除法
3) 由系统随机生成100以内的两个数,并显示他们参与的运算题目,若选择“1”,则显示:
75+87=?
4) 提供学生输入答案,做题后,进行评阅;学生每做一题后,判断答案是否正确,评阅时给出“答题正确,很好”或“答题错误,重做”等字样;
5) 继续选择运算,并出题,直到题目数量达到用户输入的试题数目,统计正确的题目数量和总分(每答对一题2分)。如:
某某,你好,你一共答对了N道题,总分为X分。
6) 显示用户选择是否继续出题的提示,若选择继续则返回第1步。
展开
 我来答
田真久
2013-12-06 · TA获得超过661个赞
知道小有建树答主
回答量:603
采纳率:100%
帮助的人:319万
展开全部
#include <stdio.h>
#include <time.h>
#include <stdlib.h>

int number_jia(int a,int b);
int number_jian(int a,int b);
int number_cheng(int a,int b);
int number_chu(int a,int b);
 int suijishu();

int main()
{
   char username[10];//用户名
   
   int que_count;//题目数量
    
   int yunsuan=1;//接受用户想进行什么运算
   
int i;//循环变量
   
   char yunsuanfu[4]={'+','-','*','/'};//存储运算符
   
   int current_num1=1,current_num2=1;//当前进行运算的数字

   int input_result;//用户输入的结果

   int score=0;//总分

   int (*pfun[4])(int,int)={number_jia,number_jian,number_cheng,number_chu};//函数指针数组
  
   char jixu='y';

     
   while(1)
   {
     if(tolower(jixu)!='y')
 break;


     printf("输入用户名\n\t");
   scanf("%s",username);

   printf("输入题目数量\n\t");
   scanf("%d",&que_count);

   printf("选择运要进行的运算\t1:加法\t2:减法\t3:乘法\t4:除法\n");
   scanf("%d",&yunsuan);

   yunsuan<=4?yunsuan:1;

   for(i=0;i<que_count;i++)
   {
 

    current_num1=suijishu();

    current_num2=suijishu();

        printf("\n%d%c%d=",current_num1,yunsuanfu[yunsuan-1],current_num2);
   
scanf("%d",&input_result);


      if(input_result==(pfun[yunsuan-1])(current_num1,current_num2))
   score+=2;
   }

   printf("%s你好你一共得分%d\n",username,score);
   
   printf("是否继续\ty:继续");
   scanf(" %c",&jixu);
   }

 return 0;
}

//100内随机数
 int suijishu()
 {
   srand(time(NULL)-1);
   return rand()%100;
 
 
 }

//下面是四则运算
int number_jia(int a,int b)
{

 return a+b;
}

int number_jian(int a,int b)
{

 return a-b;
}
int number_cheng(int a,int b)
{

 return a*b;
}
int number_chu(int a,int b)
{

if(b!=0)
 return a+b;
else
return 0;
}
追问
只能出现如加法2+2    89+89 减法34-34这样的算术
百度网友594d205f21
2013-12-06 · TA获得超过271个赞
知道小有建树答主
回答量:769
采纳率:0%
帮助的人:338万
展开全部
楼上的代码满足你的需求吗?如果不行的话 我按照你的题目要求写一个
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式