随机产生30到整数真分数四则运算

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了随机产生30到整数真分数四则运算相关的知识,希望对你有一定的参考价值。

这是软件工程课写的的第一个代码,主要思路是利用随机数 产生整数 真分数 以及四个代表运算符号的数字,唯一的复杂点事要判断除数是否为零,整数运算使用重新生成随机数的方法,当真分数运算中除数为零时使用分子分母同时加1的方法处理。

本程序主要运用了

rand()%100产生随机数
srand((int)time(NULL));做时间种子

课上写思路用时30分钟  实际编写过程中通过网上查资料 问同学 学习以上两个代码 编写时间一个半小时。

#include<iostream>
#include<ctime>
#include<stdlib.h>
using namespace std;
int main()
{
int num1, num2, sym;
srand((int)time(NULL));
for (int i = 1; i < 30; i++)
{
num1 = rand() % 100;
num2 = rand() % 100;
int k = rand() % 2;
sym = rand() % 4;

if (k == 1) //-------------------整数运算
{
if (sym == 0)
{
cout << num1 << "+" << num2 << "=" << endl;
}
if (sym == 1)
{
cout << num1 << "-" << num2 << "=" << endl;
}
if (sym == 2)
{
cout << num1 << "*" << num2 << "=" << endl;
}
if (sym == 3)
{
if (num2 == 0)
{
num2 = rand() % 100 + 1;
cout << num1 << "/" << num2 << "=" << endl;
}
else
cout << num1 << "/" << num2 << "=" << endl;
}
}

if (k == 0) //-------------------真分数运算
{
int a, b, c, d;
a = rand() % 100;
b = rand() % 100;
c = rand() % 100;
d = rand() % 100;
for (;;)
{
if ((a > b&&b !=0)&&(c>d&&d!=0))
{
num1 = b / a;
num2 = d / c;
break;
}
else
a = rand() % 100;
b = rand() % 100;
c = rand() % 100;
d = rand() % 100;

}
if (sym == 0)
{
cout <<b<<"/"<<a<< "+" << d<<"/"<<c << "=" << endl;
}
if (sym == 1)
{
cout << b << "/" << a << "-" << d << "/" << c << "=" << endl;
}
if (sym == 2)
{
cout << b << "/" << a << "*" << d << "/" << c << "=" << endl;
}
if (sym == 3)
{
if (d == 0)
{
num2 = (d+1)/(c+1);
cout << b << "/" << a << " / " << d << "/" << c << "=" << endl;
}
else
cout << b << "/" << a << " / " << d << "/" << c << "=" << endl;
}
}
}
return 0;
}

以上是关于随机产生30到整数真分数四则运算的主要内容,如果未能解决你的问题,请参考以下文章

随机生成30道四则运算题目

随机生成30道四则运算

代码作业——四则运算

30道四则运算

四则运算 Python

随机生成30道100以内的四则运算题目