编译器:code blocks
源代码:#include
#include
#include
char start;
inttosystem(int []); //函数声明
int check();
int menu();
int main()
{
intname[20]; //存储小学生姓名
tosystem(name);
check(); //起始界面
menu(name); //主菜单
}
inttosystem(int name[])
{printf(“\n\n\n\n\n\n\n\n”);
printf(“\t\t\t\t\t\t小学生数学测试系统\n”);
printf(“\n”);
printf(“\t\t\t\t\t\t作者:M\n”);
printf(“\n”);
printf(“\t\t\t\t\t—————————————–\n”);
printf(“\n\n\n\n\n\n\n\n”);
printf(“\t\t\t\t\t\t请输入你的名字:”);
scanf(“%s”,name);
printf(“\t\t\t\t\t\t请输入任意字符进入系统:\t”);
scanf(“%c”,&start);
system(“cls”); //清屏
//退出
}
int check()
{ int inform();
int choose;
printf(“亲爱的小朋友,欢迎来到数学测试系统,请先输入序号5查看系统说明哦!\n”);
scanf(“%d”,&choose);
system(“cls”);
switch(choose)
{
case 0:exit (1);
case 5:inform();
}
}
int menu()
{int simple();
int medium();
intdifficult();
int choose;
printf(“亲爱的小朋友,了解了规则之后,输入序号开始你的闯关之旅哦:\n”); //用户选择
printf(“\t\t\t\t1.简单\n”);
printf(“\t\t\t\t2.一般\n”);
printf(“\t\t\t\t3.困难\n”);
printf(“\t\t\t\t0.退出\n”);
printf(“请选择:”);
scanf(“%d”,&choose);
system(“cls”);
switch(choose)
{
case 0:exit (1) ;
case 1:simple();
case 2:medium();
case 3:difficult();
}
}
int simple()
{
int n=0,sum,grade,A,B,C,D;//学生得分
int a,b,d,t; //分别表示两个运算数,正确答案及学生输入的答案
int c; //运算:0-加 1-减 2-乘 3-除
int i;
srand(time(0)); //初始化随机种子
for(i=0; i<20; i++)
{
printf(“第 %d 题: “, i+1);
c=rand()%4;
a=rand()%10+1;
b=rand()%10+1;
if(a<b&&(c==1||c==3)) //给小学生的题,减和除运算保证大减小和大除以小
{
d=a;
a=b;
b=d;
}
if(c==3)//对于除法,调整被除数,以保证能整除
a=(a/b)*b;
switch(c)
{
case 0://加法
d=a+b;
printf(“%d+%d=”, a, b);
break;
case 1: //减法
d=a-b;
printf(“%d—%d=”, a, b);
break;
case 2: //乘法
d=a*b;
printf(“%d×%d=”, a, b);
break;
case 3: //除法
d=a/b;
printf(“%d÷%d=”, a, b);
break;
return 0;
}
scanf(“%d”, &t);
if(t==d)
{
printf(” right! \n”);
n++;
}
else
printf(” wrong! \n”);
}
sum=n*5;
printf(“\t\t\t\t亲爱的小朋友,你在简单模式共答对%d道题目\n”,n);
printf(“\t\t\t\t成绩为:%d\n”,sum);
printf(“\t\t\t\t获得的等级是:”);
if(sum<60)
{printf(“D”);}
elseif(sum<80)
{printf(“C”);}
elseif(sum<90)
{printf(“B”);}
else
{printf(“A”);};
printf(“\n”);
printf(“\t\t\t\t在以后的学习中,要再接再厉哦~!”);
go();
}
int medium()
{
int sum,n=0;//学生得分
int a,b,d,t; //分别表示两个运算数,正确答案及学生输入的答案
int c; //运算:0-加 1-减 2-乘 3-除
int i;
srand(time(0)); //初始化随机种子
for(i=0; i<10; i++)
{
printf(“第 %d 题: “, i+1);
c=rand()%4;
a=rand()%100+1;
b=rand()%50+1;
if(a<b&&(c==1||c==3)) //给小学生的题,减和除运算保证大减小和大除以小
{
d=a;
a=b;
b=d;
}
if(c==3)//对于除法,调整被除数,以保证能整除
a=(a/b)*b;
switch(c)
{
case 0://加法
d=a+b;
printf(“%d+%d=”, a, b);
break;
case 1: //减法
d=a-b;
printf(“%d—%d=”, a, b);
break;
case 2: //乘法
d=a*b;
printf(“%d×%d=”, a, b);
break;
case 3: //除法
d=a/b;
printf(“%d÷%d=”, a, b);
break;
}
scanf(“%d”, &t);
if(t==d)
{
printf(” right! \n”);
n++;
}
else
printf(” wrong! \n”);
}
sum=n*10;
printf(“\t\t\t\t亲爱的小朋友,你在中等模式共答对%d道题目\n”,n);
printf(“\t\t\t\t成绩为:%d\n”,sum);
printf(“\t\t\t\t获得的等级是:”);
if(sum<60)
{printf(“D”);}
elseif(sum<80)
{printf(“C”);}
elseif(sum<90)
{printf(“B”);}
else
{printf(“A”);};
printf(“\n”);
printf(“\t\t\t\t在以后的学习中,要再接再厉哦~!”);
go();
}
int difficult()
{
int sum,n=0;//学生得分
int a,b,d,t; //分别表示两个运算数,正确答案及学生输入的答案
int c; //运算:0-加 1-减 2-乘 3-除
int i;
srand(time(0)); //初始化随机种子
for(i=0; i<10; i++)
{
printf(“第 %d 题: “, i+1);
c=rand()%4;
a=rand()%100+1;
b=rand()%100+1;
if(c==3)//对于除法,调整被除数,以保证能整除
a=(a/b)*b;
switch(c)
{
case 0://加法
d=a+b;
printf(“%d+%d=”, a, b);
break;
case 1: //减法
d=a-b;
printf(“%d—%d=”, a, b);
break;
case 2: //乘法
d=a*b;
printf(“%d×%d=”, a, b);
break;
case 3: //除法
d=a/b;
printf(“%d÷%d=”, a, b);
break;
}
scanf(“%d”, &t);
if(t==d)
{
printf(” right! \n”);
n++;
}
else
printf(” wrong! \n”);
}
sum=n*10;
printf(“\t\t\t\t亲爱的小朋友,你在困难模式共答对%d道题目\n”,n);
printf(“\t\t\t\t成绩为:%d\n”,sum);
printf(“\t\t\t\t获得的等级是:”);
if(sum<60)
{printf(“D”);}
elseif(sum<80)
{printf(“C”);}
elseif(sum<90)
{printf(“B”);}
else
{printf(“A”);};
printf(“\n”);
printf(“\t\t\t\t在以后的学习中,要再接再厉哦~!”);
go();
}
void go()
//清屏选项
{
printf(“\n输入任意字符返回主菜单:\t”);
scanf(“%c”,&start);
system(“cls”);
menu();
}
int inform()
{
printf(“\n\n\n\n\n\n\n\n”);
printf(“\t\t\t\t\t本系统采取随机出题\n”);
printf(“\t\t\t\t\t总分100分,设置三种难度题目\n”);
printf(“\t\t\t\t\t简单程度含有20道题,每小题5分\n”);
printf(“\t\t\t\t\t中等程度含有10道题,每小题10分\n”);
printf(“\t\t\t\t\t困难程度含有10道题,每小题10分\n”);
printf(“\t\t\t\t\t90-100分为等级A\n”);
printf(“\t\t\t\t\t80-90分为等级B\n”);
printf(“\t\t\t\t\t60-80分为等级C\n”);
printf(“\t\t\t\t\t60分以下为等级D\n”);
printf(“\t\t\t\t\t制作者:M 日期:2023/01/23\n”);
go();
}