C++專案參考解答——小學生算術能力測試系統
阿新 • • 發佈:2019-02-03
【專案-小學生算術能力測試系統】通過本題學習一些系統函式。
設計一個程式,用來實現幫助小學生進行算術運算練習,它具有以下功能:提供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; }