需要改的地方你自己看的改一下。
这个每组是10道题。
我以前做的。
#include<stdio.h>
#include<math.h>
#include<time.h>
#include<stdlib.h>
int text=0;//全局变量
void math_text()
{
int a,b,c,y;
char x;
a=(int)fabs(rand())%21;//产生第一个随机数,最大为20
b=(int)fabs(rand())%2;//利用随机数的奇偶性来定义随即运算符+和-
c=(int)fabs(rand())%21;//产生第二个随机数,最大为20
if (b==0)
{
x='+';
printf ("%d%c%d=",a,x,c);
scanf ("%d",&y);
if (y==a+c)
{
printf ("正确\n");
text ++;
}
else
printf ("错误\n正确答案:%d\n",a+c);
}
else
{
x='-';
printf ("%d%c%d=",a,x,c);
scanf ("%d",&y);
if (y==a-c)
{
printf ("正确\n");
text ++;
}
else
printf ("错误\n正确答案:%d\n",a-c);
}
}
void main ()
{
printf ("\t\t\t\t1—20加减法考试系统\n");
printf ("\t\t\t注·每套题有10道,每道题10分,满分100\n\n\n\n\n\n\n\n\n");
printf ("\t\t\t\t\t\t\t\t\t\t\t\t\t\t按回车键进入");
char ch;
if(ch=getchar()=='\n')//判断师父输入回车键
{
system ("cls");//清屏
srand((int)time(NULL));
int i;
for (i=1;i<=10;i++)
{
printf("第%d题:\n",i);
math_text();
}
switch (text)
{
case 6: printf ("答对6题,60分及格");break;
case 7: printf ("答对7题,70分良好");break;
case 8: printf ("答对8题,80分优秀");break;
case 9: printf ("答对9题,90分优秀");break;
case 10:printf ("答对10题,100分满分");break;
default:printf ("答对%d题,%d分不及格",text,text*10);break;
}
}
}