随机生成10道100以内的加 减 乘 除 取模 数学题 回答正确的加10分错误不加分(把正确结果打印出来) 然后显示最后成绩。
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
int main(void)
{
int i = 0 ; //题数
int num = 0;//输入的结果
int x, y ,z;//产生的三个随机数
int NUM; //计算结果系统答案
char o ; //表示运算符
int d = 0 ; //最后得分
srand(getpid());//随机种子
for(i = 0; i <10; i++)
{
x = rand()%100;//【0~99】范围
y = rand()%100;//【0~99】范围
z = rand()%10;//
switch(z)
{
case 0:
case 1: o = '+';break;
case 2:
case 3: o = '-';break;
case 4:
case 5: o = '*';break;
case 6:
case 7: o = '/';break;
case 8:
case 9: o = '%';break;
}
if(z==0 || z==1 )
{
printf("%d %c %d =",x,o,y);
scanf("%d",&num);
NUM = x + y ;
if(num == NUM)
{
d +=10;
printf("正确! +10分\n");
}
else
{
printf("错误! 正确答案: %d\n",NUM);
}
}
else if(z==2 || z==3)
{
printf("%d %c %d =",x,o,y);
scanf("%d",&num);
NUM = x - y ;
if(num == NUM)
{
d +=10;
printf("正确! +10分\n");
}
else
{
printf("错误! 正确答案: %d\n",NUM);
}
}
else if(z==4 || z==5)
{
printf("%d %c %d =",x,o,y);
scanf("%d",&num);
NUM = x * y ;
if(num == NUM)
{
d +=10;
printf("正确! +10分\n");
}
else
{
printf("错误! 正确答案: %d\n",NUM);
}
}
else if(z==6 || z==7)
{
printf("%d %c %d =",x,o,y);
scanf("%d",&num);
NUM = x / y ;
if(num == NUM)
{
d +=10;
printf("正确! +10分\n");
}
else
{
printf("错误! 正确答案: %d\n",NUM);
}
}
else if(z==8 || z==9)
{
printf("%d %c %d =",x,o,y);
scanf("%d",&num);
NUM = x % y ;
if(num == NUM)
{
d +=10;
printf("正确! +10分\n");
}
else
{
printf("错误! 正确答案: %d\n",NUM);
}
}
}
printf("最后得%d分。\n",d );
return 0;
}
结果
0 - 76 =-76
正确! +10分
73 % 1 =0
正确! +10分
44 % 3 =2
正确! +10分
74 + 77 =151
正确! +10分
53 + 53 =106
正确! +10分
58 / 30 =1
正确! +10分
66 % 42 =24
正确! +10分
97 + 26 =123
正确! +10分
95 - 43 =52
正确! +10分
7 * 26 =182
正确! +10分
最后得100分。