/*
烟台大学计算机学院 2016
作者:张威
完成日期:2017年1月4日
版本号:V1.1
*/
#include <stdio.h>
#include <stdlib.h>
#include<time.h>
int main()
{
int a,b,m,count=0,i; //a,b分别代表随机产生一百以内的两个数,m=0 1 2 3代表加减乘除四种运算过程
//count用来计算题目数量控制在10道以内
int n,d; //n表示学生输入的答案,d为交换变量
float corret; //corret为做题的正确率
do{
printf("欢迎使用小学生数学运算考试系统!\n");
srand(time(0));
for(i=0; i<10; i++)
{
m=rand()%4+1;
do
{
a=rand()%100+1;
b=rand()%100+1;
if(a<b&&(m==2||m==4)) //当运算为减或乘时,必须满足被减数大于减数,被除数大于除数
{
d=a;
a=b;
b=d;
}
if(m==4)
a=(a/b)*b; //保证a能整除b
}while((a+b)>=100||a*b>=100);//对于小学生来说 这些运算必须在100以内
switch(m) //以下是各种运算
{
case 1:
printf("%d+%d\n",a,b);
d=a+b;
break;
case 2:
printf("%d-%d\n",a,b);
d=a-b;
break;
case 3:
printf("%d*%d\n",a,b);
d=a*b;
break;
case 4:
printf("%d/%d\n",a,b);
d=a/b;
break;
}
printf("请输入你做的答案:\n");
scanf("%d",&n); //输入运算后的结果
if(n==d) //如果结果正确,输出Right,做对的题目数加1
{
printf("Right\n");
count++;
}
else
printf("Wrong\n"); //如果结果错误,输出Wrong
}
printf("你做对的题目有%d道",count);
corret=(count/10.0)*100;
printf("正确率为:%.0f%%\n",corret);
printf("是否继续,继续选1,否则选2\n");
int x;
scanf("%d",&x);
if(x==1)
continue;
else if(x==2)
break;
} while(1);
return 0;
}
运行结果: