本次结对编程作业由我和2152620同学使用c++语言共同完成。
代码如下:
#include <iomanip> #include <iostream> #include <ctime> #include <cstdlib> using namespace std; int num1[300]; int num2[300]; int op[300]; int answer[300]; int real[300]; void srand(unsigned int seed); int getRand(int min, int max); void get_question(int num1[],int num2[],int op[],int real[]) //数组随机填充函数 { for(int i = 1;i<=300;i++){ op[i]=getRand(0,3); //随机生成运算符 } for(int j = 1;j<=300;j++){ if (op[j] == 0){ real[j]=getRand(0,100); num2[j]=getRand(0,real[j]); num1[j]=real[j]-num2[j]; } else if(op[j] == 1){ num1[j]=getRand(0,100); num2[j]=getRand(0,num1[j]); real[j]=num1[j]-num2[j]; } else if(op[j] == 2) { num1[j]=getRand(0,10); num2[j]=getRand(0,10); real[j]=num1[j]*num2[j]; } else{ real[j]=getRand(0,10); num2[j]=getRand(1,10); num1[j]=real[j]*num2[j]; } } } int getRand(int min, int max) { //随机数生成函数 return ( rand() % (max - min + 1) ) + min ; } void display_question(int num1[],int num2[],int op[],int real[]){ //题目输出函数 for(int i = 1;i<=300;i++){ switch(op[i]){ case 0: cout<<setw(3)<<i<<". "<<setw(3)<<num1[i]<<" +"<<setw(3)<<num2[i]<<'='<<setw(8)<<" "; break; case 1: cout<<setw(3)<<i<<". "<<setw(3)<<num1[i]<<" -"<<setw(3)<<num2[i]<<'='<<setw(8)<<" "; break; case 2: cout<<setw(3)<<i<<". "<<setw(3)<<num1[i]<<" *"<<setw(3)<<num2[i]<<'='<<setw(8)<<" "; break; case 3: cout<<setw(3)<<i<<". "<<setw(3)<<num1[i]<<" /"<<setw(3)<<num2[i]<<'='<<setw(8)<<" "; break; } if (i%5==0) cout<<endl; } } void check_answer(int answer,int real[],int right){ //答案检查函数 for(int i = 1;i<=300;i++){ //为方便演示可把此处的i改为小数字 cout<<"请输入第"<<i<<"题的答案"<<endl; cin>>answer; if(answer==real[i]){ right++; cout<<"正确!"<<endl; } else cout<<"错误!"<<endl; } right=right/3; cout<<"答题结束,你的分数是:"<<right<<endl; } int main (){ int answer; int right=0; int i=0; srand(time(NULL)); while(i==0){ get_question( num1,num2, op, real); display_question( num1,num2, op, real); check_answer(answer, real,right); cout<<"是否再来一组?(输入0)"<<endl; cout<<"按任意键退出。。。"<<endl; cin>>i; } return 0; }
运行结果:
心得体会:
由于题目要求的是100以内的四则运算,所以要确保结果在0-100以内。此外,我们还通过限制随机数生成条件来避免除数为零、减数大于被减数等情况。在运行的过程中我们发现,如果在300道题答完之前退出,之后再运行生成的300道题跟之前一样。于是,我们加入了srand函数来对随机数进行初始化。通过这次的作业,我们意识到团队协作对于软件开发的重要性。具有团队意识,对于我们未来进入工作岗位也是十分重要的。
标签:real,结对,300,四则运算,int,answer,include From: https://www.cnblogs.com/lyy1357/p/17327470.html