/*************************************************************
功能描述:10道四则运算题目
输入参数:l-随机一种运算法则
c-用于除法运算
a,b-随机算式中的两个随机数
i-题目数量
m,n-输入并检验答案
j-正确次数及得分
t-考试次数
temp-减法中确保a>b
s-存储数据的数组
c-字符
返 回 值:
其他说明:无
*************************************************************/
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include <windows.h>
void dengluyemian();
int main()
{
dengluyemian();
int l,c,a,b,i,m,n,j,t,temp;// l用于随机一种运算法则,a、d用于生成算式中的随机数,m,n用于输入并检验答案,j用于统计正确次数
srand(time(0));
for (t=0; t<3; t++)
{
j=0;
for(i=0; i<10; i++)
{
printf("%d. ",i+1);
l=rand()%4;
switch(l)
{
case 0:
{
a=rand()%100+1;
b=rand()%100+1;
printf("%d+%d=",a,b);
scanf("%d",&m);
n=a+b;
printf("\n");
if (m==n)
j++;
break;
}
case 1:
{
a=rand()%100+1;
b=rand()%100+1;
if(a<b)
{
temp=a;
a=b;
b=temp;
}
printf("%d-%d=",a,b);
scanf("%d",&m);
n=a-b;
printf("\n");
if (m==n)
j++;
break;
}
case 2:
{
a=rand()%100+1;
b=rand()%100+1;
while (a*b>400)
{
a=rand()%100+1;
b=rand()%100+1;
}
printf("%d*%d=",a,b);
scanf("%d",&m);
n=a*b;
printf("\n");
if (m==n)
j++;
break;
}
case 3:
{
c=rand()%20+1;
b=rand()%20+1;
a=b*c;
printf("%d/%d=",a,b);
scanf("%d",&m);
n=a/b;
printf("\n");
if (m==n)
j++;
}
}
}
printf("答题结束\n");
printf("你的成绩为%d\n",j*10);
if(j<6)
{
printf("你此次考试成绩不及格,你还有%d次补考机会。\n",2-t);
Sleep(1000);
if (t==2)
{
printf("考试结束!\n");
printf("你挂科了!!!!\n");
break;
}
printf("第%d次补考开始\n",t+1);
printf("\n\n");
Sleep(1000);
}
if(j>=6)
{
printf("恭喜你考试通过!");
break;
}
}
return 0;
}
void dengluyemian()
{
printf("欢迎登录考试系统\n");
printf("请完成下列10道题目\n");
printf("考试满分100分,每道题10分。\n");
printf("请认真作答\n");
printf("\n\n");
}