#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int i,j,s,c1,c2,b1,b2,t,c,d1,d2,d3,d4,d5,d6; //i,j 分别控制两个循环 d1,d2,d3,d4分别为随机数字寄存的变量
int rand();
srand((unsigned)time(NULL));
printf("\t\t\t*******************************************************\n");
printf("\t\t\t* 此次测试的题目有20道 *\n");
printf("\t\t\t* 题目类型为两位数的加减乘除 *\n");
printf("\t\t\t* 每题5分,总分为100分。 *\n");
printf("\t\t\t*******************************************************\n");
printf("\t\t\t\t\t加法与乘法部分\n");
for(c1=0,i=1;i<=5;i++)
{
d1=rand()%91+10,d2=rand()%91+10;
d3=rand()%91+10,d4=rand()%91+10; //rand()%91+10,输出10-100之前的随机数字
printf("\t\t\t\t\t%d + %d = ",d1,d2);
scanf("%d",&b1);
printf("\t\t\t\t\t%d x %d = ",d3,d4);
scanf("%d",&b2);
printf("\n"); //b1,b2为用户输入的答案
d5=d1+d2;d6=d3*d4; //将正确答案赋给d5,d6,分别与用户输入答案进行比较
if(b1==d5&&b2==d6) //判断用户输入的答案与实际答案是否相等
{
c1=c1+10;
}
else if(b1==d5||b2==d6)
{
c1=c1+5;
} //c1为学生每一题的成绩,每对一题加5分,错题加0分。将计算的前十道题的
else //分数赋给c1储存起来
{
c1=c1+0;
}
}
printf("\t\t\t\t\t减法与除法部分\n");
for(c2=0,j=1;j<=5;j++)
{
d1=rand()%91+10,d2=rand()%91+10;
d3=rand()%91+10,d2=rand()%91+10;
if(d1<d2)
{
t=d2,d2=d1,d1=t; //将随机函数出现的大的值换到前面,d1,d2换 d3,d4同理
}
if(d3<d4)
{
t=d4,d4=d3,d3=t;
}
printf("\t\t\t\t\t%d - %d = ",d1,d2);
scanf("%d",&b1);
printf("\t\t\t\t\t%d ÷%d = ",d3,d4);
scanf("%d",&b2);
printf("\n");
d5=d1-d2;d6=d3/d4;
if(b1==d5&&b2==d6)
{
c2=c2+10;
}
else if(b1==d5||b2==d6)
{
c2=c2+5;
}
else
{
c2=c2+0;
}
c=c1+c2; // 将c1,c2的值相加,得出最后的总分赋给c
}
printf(" \t你此次测验的成绩为%d\n",c); //打印出最后的总分c
s=c/10; //采用开关变量S,每10分作为一个case。
switch(s)
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:printf(" \t\t/(ㄒoㄒ)/~~好好学习吧,别荒废了学业");break;
case 6:
case 7:printf(" \t\t↖(^ω^)↗相信你只是看错题目,再来一次,你能拿到更高分数");break;
case 8:printf(" \t\t↖(^ω^)↗加油,相信你能更上一层楼"); break;
case 9:
case 10:printf(" \t\t(^-^)你很棒!"); break;
}
return 0;
}
上一期答案:阿拉伯数字,温度,流星,自己的葬礼,结婚