标签:
#include<stdio.h>
#include <stdlib.h>
#include <time.h>
main()
{
int a,b,c,n,u,i,e=0;
int sum2=1;
int sum=0;
float sum3=0;
float answer2;
int resultTrue=0;
int answer;
int time=0;
char op,op2;
do//产生随机数
{
a=rand()%100+1;
b=rand()%100+1;
c=rand()%100+1;
n=rand()%4+1;
u=rand()%9+1;
e=rand()%10+1;
switch(n)
{
case 1://含有一个运算符
{
switch(u%4)//产生运算符
{
case 0:
{
op=‘+‘;
break;
}
case 1:
{
op=‘-‘;
break;
}
case 2:
{
op=‘*‘;
break;
}
case 3:
{
op=‘/‘;
break;
}
}
printf("%d%c%d=\n",a,op,b);//打印
switch(op)//通过运算符计算答案
{
case ‘+‘:
{
resultTrue=a+b;
break;
}
case ‘-‘:
{
resultTrue=a-b;
break;
}
case ‘*‘:
{
resultTrue=a*b;
break;
}
case ‘/‘:
{
sum3=(float)a/b;
printf("请输入正确答案(时间为两分钟):");
scanf("%d",&answer2);
if(sum3==answer2)
{
printf("答案正确\n");
}
else
{
printf("答案错误\n");
printf("正确答案为%f\n",sum3);
}
break;
}
}
while(time<121)
{
printf("请输入正确答案(时间为两分钟):");
for(i=0;i<121;i++)
{
time++;
scanf("%d",&answer);
if(time==120)
{
printf("时间到,无法答题\n");
time=0;
break;
}
if(time<120)
{
if(answer==resultTrue)
{
printf("答案正确\n");
printf("答题时间为%d\n",time);
time=0;
break;
}
else
{
printf("答案错误\n");
printf("答案为%d\n",resultTrue);
break;
}
}
}
}
}
case 2://产生两个运算符
{
switch(u%4)//第一个运算符产生
{
case 0:
{
op=‘+‘;
break;
}
case 1:
{
op=‘-‘;
break;
}
case 2:
{
op=‘*‘;
break;
}
case 3:
{
op=‘/‘;
break;
}
}
switch(u%4)//第二运算符产生
{
case 0:
{
op2=‘+‘;
break;
}
case 1:
{
op2=‘-‘;
break;
}
case 2:
{
op2=‘*‘;
break;
}
case 3:
{
op2=‘/‘;
break;
}
}
printf("%d%c%d%c%d=\n",a,op,b,op,c);//打印
switch(op)//计算答案先通过第一个运算符计算
{
case ‘+‘:
{
sum=a+b;
break;
}
case ‘-‘:
{
sum=a-b;
break;
}
case ‘*‘:
{
sum=a*b;
break;
}
case ‘/‘:
{
sum3=(float)a/b;
break;
}
}
switch(op2)//然后再根据第二运算符计算
{
case ‘+‘:
{
sum=sum+c;
break;
}
case ‘-‘:
{
sum=sum-c;
break;
}
case ‘*‘:
{
sum=sum*c;
break;
}
case ‘/‘:
{
sum3=(float)sum3/c;
printf("请输入正确答案(时间为两分钟):");
scanf("%d",&answer2);
if(sum3==answer2)
{
printf("答案正确\n");
}
else
{
printf("答案错误\n");
printf("正确答案为%f\n",sum3);
}
break;
}
}
while(time<123)//时间设置
{
printf("请输入正确答案(时间为两分钟):");
for(i=0;i<123;i++)
{
time++;
scanf("%d",&answer);
if(time==120)
{
printf("时间到,无法答题\n");
time=0;
break;
}
if(time<120)
{
if(answer==sum)
{
printf("答案正确\n");
printf("你得答题时间为%d\n",time);
time=0;
break;
}
else
{
printf("答案错误\n");
printf("答案为%d\n",sum);
break;
}
}
}
}
}
case 3:
{
printf("请输入%d!=",e);
scanf("%d",&answer);
for(i=1;i<=e;i++)
{
sum2=sum2*i;
}
while(time<121)
{
if(time==120)
{
time=0;
printf("已到时间\n");
break;
}
if(time<120)
{
if(answer==sum2)
{
printf("答案正确\n");
printf("用时为%d\n",time);
sum2=1;
break;
}
else
{
printf("答案错误\n");
printf("答案为%d\n",sum2);
sum2=1;
break;
}
}
}
}
}
}while(1);
}
标签:
原文地址:http://www.cnblogs.com/gersaty/p/4398944.html