个人项目1修改版——自动生成四则表达式

  这是在上一个程序上的改版,这次要求支持真分数的四则运算,这就要求判断一个数是否为真分数,具体代码如下:

 1 //这是张晓菲的第一个作业的完善,目的是自动生成30个四则运算,要求支持真分数的四则运算
 2 //2016/3/3
 3 
 4 #include <iostream>
 5 #include <cmath>
 6 using namespace std;
 7 
 8 //main函数
 9 void main()
10 {
11     int ran1,ran2,ran3,ran4,oper;
12     for(int i=0;i<30;i++)
13     {
14         ran1=rand()%100;//产生第一个随机数
15         ran2=rand()%100;//产生第二个随机数
16         if(ran1>ran2)
17         {
18             int y=ran1;
19             ran1=ran2;
20             ran2=y;
21         }
22         if(ran2==0)
23             ran2=rand()%100;
24         ran3=rand()%100;
25         ran4=rand()%100;
26         if(ran4==0)
27             ran4=rand()%100;
28         if(ran3>ran4)
29         {
30             int y=ran3;
31             ran3=ran4;
32             ran4=y;
33         }
34         oper=rand()%4;//oper用来决定进行什么四则运算
35         switch(oper)
36         {
37         case 0:
38             cout<<"("<<ran1<<"/"<<ran2<<")"<<"+"<<"("<<ran3<<"/"<<ran4<<")"<<"="<<endl;//进行加运算
39             break;
40         case 1:
41             cout<<"("<<ran1<<"/"<<ran2<<")"<<"*"<<"("<<ran3<<"/"<<ran4<<")"<<"="<<endl;//进行乘运算
42             break;
43         case 2:
44             cout<<"("<<ran1<<"/"<<ran2<<")"<<"-"<<"("<<ran3<<"/"<<ran4<<")"<<"="<<endl;//进行减运算
45             break;
46         case 3:
47             cout<<"("<<ran1<<"/"<<ran2<<")"<<"/"<<"("<<ran3<<"/"<<ran4<<")"<<"="<<endl;//进行除运算
48             break;
49         }
50     }
51 }

运行结果如下:

  这次比上次整数实现四则运算有一个不足,就是没有判断被减数与减数的大小,因为我不知道该怎么判断两个分数的大小。

posted on 2016-03-03 21:28  米奇充要条件  阅读(158)  评论(1编辑  收藏  举报

导航