问题及代码:
/*
时间:2016.11
作者:夏晓林
内容:实现对100以内的加减乘除法
*/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int a,b,c,d,t,e,i,sum=0;
srand(time(0));
for(i=1; i<=10; i++)
{
do
{
a=rand()%101;
b=rand()%101;//确保a和b都在100以内
}
while(a+b>=100||a*b>=100);//确保和和积小于100
c=rand()%4;//0123分别代表加减乘除
if(a<b)
{
e=a;
a=b;
b=e;
}//确保a>b
{
if(c==0)
{
printf("第%d道题\n", i);
printf("%d+%d=\n",a,b);
d=a+b;
scanf("%d",&t);
if(t==d)
{
printf("正确\n");
sum++;
}
else
printf("错误\n");
}
if(c==1)
{
printf("第%d道题\n", i);
printf("%d-%d=\n",a,b);
d=a-b;
scanf("%d",&t);
if(t==d)
{
printf("正确\n");
sum++;
}
else
printf("错误\n");
}
if(c==2)
{
printf("第%d道题\n", i);
printf("%d*%d=\n",a,b);
d=a*b;
scanf("%d",&t);
if(t==d)
{
printf("正确\n");
sum++;
}
else
printf("错误\n");
}
if(c==3)
{
a=(a/b)*b;//确保能够整除
printf("第%d道题\n", i);
printf("%d/%d=\n",a,b);
d=a/b;
scanf("%d",&t);
if(t==d)
{
printf("正确\n");
sum++;
}
else
printf("错误\n");
}
}
}
printf("总分为%d",sum*10);
return 0;
}
运行结果:
学习心得:
继续巩固取随机数,为了使两个数能够整除,可以先用大的数除以小的数再乘以小的数,然后再计算。