设计思路:
1.生成随机数
①找到生成随机数函数
②控制随机数产生的范围
③输出随机数
2.解决随机运算符问题
①用生成的随机数除4取余加1得1,2,3,4四个数(分别表示+,-,*,/四个符号)
②运用switch输出符号
3.真分数的解决
①分子小于分母
②生成的分子随机数小于分母随机数
4.真分数和整数运算同时输出
①再运用一次随机函数,用1和2分别代表整数和真分数
代码:
//随机生成30个1~99的加减乘除运算,包括真分数 #include<iostream> #include<time.h> using namespace std; void main() { int num,num1, num2,num3,num4, fuhao, i,a=0,b=0,c=0,d=0,e; srand((int)time(NULL));//随机种子 for (i = 0; i < 30; i++) { num1 = 1 + rand() % 100;//将1到100内的数随机赋予num1 num2 = 1 + rand() % 100;//将1到100内的数随机赋予num2 num3 = 1 + rand() % 100;//将1到100内的数随机赋予num3 num4 = 1 + rand() % 100;//将1到100内的数随机赋予num4 num = 1 + rand() % 2;//随机生成1或2分别表示整数和分数 if (num == 1) { fuhao = num1 % 4 + 1; cout << num1; switch (fuhao) { case 1:cout << "+"; break; case 2:cout << "-"; break; case 3:cout << "×"; break; case 4:cout << "÷"; break; } cout << num2 << "=" << endl; } if(num==2) { a = num1; b = num2; if (num1 > num2) { e = a; a = b; b = e; } cout << "("<<a << "/" << b<<") "; fuhao = num1 % 4 + 1; switch (fuhao) { case 1:cout << "+"; break; case 2:cout << "-"; break; case 3:cout << "×"; break; case 4:cout << "÷"; break; } c = num3; d = num4; if (num3 > num4) { e = c; c = d; d = e; } cout <<"("<< c << "/" << d<<")"<<"="<<endl; } } }