软件工程个人作业01
代码实现随机生成30道四则运算题目:
1.生成随机数(利用rand()%100确定,使用srand((unsigned)time(NULL));避免重复。)
2.使用一个随机数来确定符号,1234对应加减乘除,使用if就可轻松判断。
3.使用另一个随机数来确定是否是分数运算,12分别代表整数和分数,分数运算时分母不为0,整数运算时除数不为0,否则,重新生成一个随机数。
4.输出就很简单了,根据符号随机数确定是什么符号就行了。
源代码:
#include<iostream> #include<time.h> using namespace std; float num[6]; void random(){ //生成随机数 num[0]=rand()%100; num[1]=rand()%100; num[2]=rand()%100; num[3]=rand()%100; } void main(){ srand((unsigned)time(NULL)); for(int i=0;i<30;i++){ random(); num[4]=rand()%4+1; num[5]=rand()%2+1; if(num[4]==1){ if(num[5]==1) cout<<num[1]<<"+"<<num[2]<<"="<<endl; else{ for(;;){ if(num[0]==0||num[1]==0) random(); else{ cout<<"("<<num[2]<<"/"<<num[0]<<")"<<"+"<<"("<<num[3]<<"/"<<num[1]<<")"<<"="<<endl; break; } } } } else if(num[4]==2){ if(num[5]==1) cout<<num[1]<<"-"<<num[2]<<"="<<endl; else{ for(;;){ if(num[0]==0||num[1]==0) random(); else{ cout<<"("<<num[2]<<"/"<<num[0]<<")"<<"-"<<"("<<num[3]<<"/"<<num[1]<<")"<<"="<<endl; break; } } } } else if(num[4]==3){ if(num[5]==1) cout<<num[1]<<"*"<<num[2]<<"="<<endl; else{ for(;;){ if(num[0]==0||num[1]==0) random(); else{ cout<<"("<<num[2]<<"/"<<num[0]<<")"<<"*"<<"("<<num[3]<<"/"<<num[1]<<")"<<"="<<endl; break; } } } } else if(num[4]==4){ if(num[5]==1){ for(;;){ if(num[2]==0) random(); else{ cout<<num[1]<<"/"<<num[2]<<"="<<endl; break; } } } else{ for(;;){ if(num[0]==0||num[1]==0||num[3]==0) random(); else{ cout<<"("<<num[2]<<"/"<<num[0]<<")"<<"/"<<"("<<num[3]<<"/"<<num[1]<<")"<<"="<<endl; break; } } } } } }
结果截图: