【项目-小学生算术能力测试系统】通过本题学习一些系统函数。
设计一个程序,用来实现帮助小学生进行算术运算练习,它具有以下功能:提供10道加、减、乘、除四种基本算术运算的题目,每道题中的操作数是随机产生的,且操作数不超过2位数的正整数;练习者根据显示的题目输入自己的答案,程序自动判断输入的答案是否正确并显示出相应的信息。最后显示做对了几道题。
参考解答:
#include <iostream> #include<ctime> #include<cstdlib> int qa(); //函数声明,完成一道题的测试并返回评判结果,正确1为,错误为0 using namespace std; int main() { int sum=0;//学生得分 for(int i=0; i<10; i++) { cout<<"第"<<i+1<<"题:"<<endl; sum+=qa(); cout<<endl; } cout<<"共答对了"<<sum<<"道题,得分"<<sum*10<<endl; return 0; } int qa() { srand(time(0)); //初始化随机种子 int a,b,c,d,t; a=rand()%100+1; b=rand()%100+1; c=rand()%4; 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; cout<<a<<"+"<<b<<"="; break; case 1: d=a-b; cout<<a<<"—"<<b<<"="; break; case 2: d=a*b; cout<<a<<"×"<<b<<"="; break; case 3: d=a/b; cout<<a<<"÷"<<b<<"="; break; } cin>>t; if(t==d) cout<<" right! "; else cout<<" wrong! "; return t==d; }
时间: 2024-08-03 21:01:06