#include <stdio.h>
#include <stdlib.h>
#include <time.h>
//如果不加#include <time.h>的话,就会出现两个warning
//In function 'main' 和 implicit declaration of function 'time'
int main()
{
int i,j,a,b,alt,c,d;
char ch1,ch2;
srand(time(0));
for(i=0; i<10; i++)
{
do
{
a=rand()%100+1;
b=rand()%100+1;
j=(a+b)%4;
if(((j==2||j==3)&&a<b))
{
alt=a;
a=b;
b=alt;
}
}
while((a+b)>=100||a*b>=100);
//今天又学会了一个套路。。
//之前我是这样的
/*while(1)
{
a=rand()%100+1;//从0到100
b=rand()%100+1;
j=(a+b)%4;
if((j==0||j==1)&&(a+b>100||a*b>100))
continue;
if(((j==2||j==3)&&a<b))
continue;*/
//不能选择一次出几个题
switch(i+1)
{
case 1:
ch1='s';
ch2='t';
break;
case 2:
ch1='n';
ch2='d';
break;
case 3:
ch1='r';
ch2='d';
break;
default:
ch1='t';
ch2='h';
}
//水平太菜,用这个笨法子。。。
printf("The %d %c%c problem\n",i+1,ch1,ch2);
switch(j)
{
case 0:
{
c=a+b;
printf("%d + %d = ?\n",a,b);
break;
}
case 1:
{
c=a*b;
printf("%d * %d = ?\n",a,b);
break;
}
case 2:
{
c=a-b;
printf("%d - %d = ?\n",a,b);
break;
}
case 3:
{
if(b==0)
{
continue;
}
a=(a/b)*b;
c=a/b;
printf("%d / %d = ?\n",a,b);
break;
}
}
scanf("%d",&d);
if(d==c)
{
printf("Congratulation,you are right!\n");
}
else
{
printf("Pity!\n");
}
}
return 0;
}
//为什么汉字和乘除号显示为乱码。。。
第十周-小学生数学考试系统
最新推荐文章于 2021-02-27 17:05:36 发布