小学算术运算测试程序

发布网友 发布时间:2022-04-21 22:00

我来回答

1个回答

热心网友 时间:2023-08-15 02:13

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void plus(void);
void dec(void);
void muti(void);
void divi(void);
int menu();
void ques(int s);
void test();
void count();

int a,b,c,ans; //a,b为两个运算数,c为用户输入的结果,ans为正确答案
int s;//用于存储用户选择的运算类型
int error=0,score=0;//error为答错的题目数量
int i;

void main()
{ while(1)
{ s=menu();
if(s<5) plus();
else{ printf("\n ");
exit(0);
}
count();
printf(" 按任意键继续......\n ");
getchar();
}
}

int menu()
{ score=0,error=0,i=0;
system("cls");//清屏
printf("\n ☆小学算术运算测试系统☆\n\n");
printf(" 1 ——加法测试\n 2 ——减法测试\n 3 ——乘法测试\n 4 ——除法测试\n 5 ——退出\n\n");
printf(" 请输入数字选择测试类型:");
scanf("%d",&s);
while(!(s==1||s==2||s==3||s==4||s==5))
{ printf(" 请输入数字选择测试类型:");
scanf("%d",&s);
}
return s;
}

void plus(void)
{ system("cls");
printf("\n 测试开始,输入数字回答问题:s0=%d\n\n",s);
for(i=0; i<3; i++)
{ ques(s);
scanf("%d",&c);
if(c==-1)break;
test();
}
}
void ques(int s)
{ srand(time(NULL));
a=rand()%10;
b=1+rand()%9;
switch(s)
{ case 1:
ans=a+b;
printf(" %2d) %d+%d=",i+1,a,b);
break;
case 2:
if(a<b)
{ int t=a;
a=b;
b=t;
}
ans=a-b;
printf(" %2d) %d-%d=",i+1,a,b);
break;
case 3:
ans=a*b;
printf(" %2d) %d*%d=",i+1,a,b);
break;
case 4:
ans=a;
a*=b;
printf(" %2d) %d/%d=",i+1,a,b);
break;
}
}

void test()
{ if(c==ans)
{ printf("\t\t正确!\n");
score=score+10;
}
else
{ printf("\t\t错误!\n");
error++;
}
}

void count()
{ printf("\n 得分:%d\n 做错题数:%d\n\n",score,error);
getchar();
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com