随机生成30道100以内的四则运算题
设计思路:
1、利用随机数法随机生成两个随机数
1.1控制随机数在100以内
1.2随机数不等于0
2、运算符的问题
1.1运用求余方式得到的1,2,3,4分别表示“+”,“-”,“*”,“/”
3、真分数的表示方法
1.1还是利用随机数法生成两个随机数
1.2比较生成的随机数的大小,小的作为分子,大的作分母,得到真分数
4、输出运算结果,用1,2分别表示整数运算和有真分数参与的运算
在有真分数参与时,是在一定程度上的随机,并不是完全的随机,有待改进
代码:
#include <iostream>
using namespace std;
int main()
{
int a,b,c,d,e; //定义几个整形变量
for(int i=0;i<30;i++)
{
a=1+rand()%100; //产生随机数
b=1+rand()%100;
c=1+rand()%100;
d=1+rand()%4;
e=rand()%2;
if(e==0) //当e=0的时候,进行的是整数四则运算
{
switch (d)
{
case 1:
cout<<a<<"+"<<b<<"="<<endl;
break;
case 2:
cout<<a<<"-"<<b<<"="<<endl;
break;
case 3:
cout<<a<<"*"<<b<<"="<<endl;
break;
case 4:
cout<<a<<"/"<<b<<"="<<endl;
break;
}
}
else(e==1); //当e=1的时候,进行的是真分数参与的四则运算
{
if(c>a)
switch (d)
{
case 1:
cout<<"("<<a<<"/"<<c<<")"<<"+"<<b<<"="<<endl;
break;
case 2:
cout<<"("<<a<<"/"<<c<<")"<<"-"<<b<<"="<<endl;
break;
case 3:
cout<<"("<<a<<"/"<<c<<")"<<"*"<<b<<"="<<endl;
break;
case 4:
cout<<"("<<a<<"/"<<c<<")"<<"/"<<b<<"="<<endl;
break;
}
}
}
return 0;
}