设计思路:
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;
}
}
}