设计思路:先确定生成一个整数,然后随机从0-100中生成
如果要生成的是一个真分数,可以把它拆为生成两个随机整数,一个作为分母一个作为分子,然后因为是真分数所以要求分子小于分母
若大于,则交换两个数的位置,然后作为分母的那个数,我还进行了判断,使其不能为零
然后随机生成一个运算符号还是调用的内个随机数的函数,只不过是把四个符号分别用1234代替,而产生1234用的是除以四取余然后再都加上一
第二个随机数的产生同理
#include<iostream>
#include<time.h>
using namespace std;
void main()
{
srand((int)time(NULL));
for (int i = 0; i < 30; i++)
{
int num1 = rand() % 100;//随机生成0-100里的整数
int num2 = rand() % 100;//随机生成0-100里的整数
int num3 = rand() % 100;//随机生成0-100里的整数
int num4 = rand() % 100;//随机生成0-100里的整数
int num = 1 + rand() % 2;//随机生成1或2分别表示整数和分数
int f;
if (num = 1)
{
f = num1 % 4 + 1;
cout << num1;
switch (f)
{
case 1:cout << "+"; break;
case 2:cout << "-"; break;
case 3:cout << "×"; break;
case 4:cout << "÷"; break;
}
if(f = 4 && num2 != 0)
cout << num2 << "=" << endl;
}
if(num=2)
{
int a = num1;
int b = num2;
if (num1 > num2)//判断是否为真分数
{
int e = a;
a = b;
b = e;
}
if(b != 0)
cout << "("<< a << "/" << b <<") ";
f = num1 % 4 + 1;
switch (f)
{
case 1:cout << "+ "; break;
case 2:cout << "- "; break;
case 3:cout << "× "; break;
case 4:cout << "÷ "; break;
}
int c = num3;
int d = num4;
if (num3 > num4)
{
int k = c;
c = d;
d = k;
}
if(d != 0 && c != 0)
cout <<"("<< c << "/" << d <<")"<<"="<<endl;
}
}
}