四则运算2

计划我的测试

1、当选定随机数的范围为1-100时选择有或者没有乘除法,输出打印都能够成功。

2、当选定的随机数的范围包括0时并且选定有乘除法时,程序是否能排除0做除数的情况。

3、当用户已经选择不需要乘除法时,是否还有必要进行有无余数的选择和计算。

4、当设定打印题数为0时,是否能够正确的执行。

5、当选择允许可以有负数时是指题目中的数字可以有负数,还是运算结果可以有。

6、在第一项的选择随机数范围时,是可以设定的无限大或是无限的小。

针对第一个计划的测试,我得到了如下结果:

这个测试我选定的随机数范围是1-100,选择的无乘除法,得到的结果正确。

针对第二个计划的测试,我得到了如下的结果:

其中我把随机数的范围包括了0,并且选择了有乘除法,经过了多次试验并没有出现除数为0的现象,当然这并不排除偶然的现象。

针对第三个计划的测试,我得到了如下结果:

当我选择不需要乘除法时,就不用选择是否需要有余数这项,同时程序也不会做相关的运行和计算。

针对第四个计划的测试,我得到了如下结果:

当我选定打印数目为0时,输出的结果确实没有打印出来。

针对第五个计划的测试,我得到了如下结果:

当选择可以有负数时,从运行结果中可以发现,是既可以生成负数,又可以减法计算后的结果允许有负数。

针对第六个计划的测试,我得到了如下结果:

可以看出最大也不是无限的可以大,最多只能到100000.

代码:

  1 #include <iostream>
  2 #include<stdlib.h>
  3 #include <ctime>
  4 #include <cmath>
  5 using namespace std;
  6 
  7 void main()
  8 {
  9     int i, j;
 10     int daYinShu;
 11     int b[1000], c[1000], d[1000];
 12     int e, min, max, pj;
 13     int aa;//各参数为定义量
 14     int bb;//各参数为定义量
 15     int cc;//各参数为定义量
 16     int s;//各参数为定义量
 17     srand((unsigned)time(NULL));
 18     cout << "请输入你想打印的题数:" << endl;
 19     cin >> daYinShu;
 20     cout << "请输入随机数的范围值,min与max的值分别为:" << endl;
 21     cin >> min >> max;
 22     pj = max - min;//通过用户输入的最大值最小值,得到范围域
 23     cout << "是否需要乘除?(回答1或0):" << endl;
 24     cin >> aa;
 25     /*cout<< "请选择需要整数还是分数?(整数1分数2)" << endl;
 26     cin >> num;
 27     int num1 = rand() % 100;//随机生成0-100里的整数
 28     int num2 = rand() % 100;//随机生成0-100里的整数
 29     int num3 = rand() % 100;//随机生成0-100里的整数
 30     int num4 = rand() % 100;//随机生成0-100里的整数
 31     int f;
 32     if(num=2)
 33         {
 34             int a = num1;
 35             int b = num2;
 36             if (num1 > num2)//判断是否为真分数
 37             {
 38                 int e = a;
 39                 a = b;
 40                 b = e;
 41             }
 42             cout << "("<< a << "/" << b <<") ";
 43             f = num1 % 4 + 1;
 44             switch (f)
 45             {
 46             case 1:cout << "+  "; break;
 47             case 2:cout << "-  "; break;
 48             case 3:cout << "× "; break;
 49             case 4:cout << "÷ "; break;
 50             }
 51             int c = num3;
 52             int d = num4;
 53             if (num3 > num4)
 54             {
 55                 int k = c;
 56                 c = d;
 57                 d = k;
 58             }
 59             if(d != 0 && c != 0)
 60             cout <<"("<< c << "/" << d <<")"<<"="<<endl;
 61         }*/
 62     if (aa == 1)
 63     {
 64         cout << "是否需要除法要得到余数?(回答1或0):" << endl;
 65         cin >> bb;
 66         cout << endl;
 67     }
 68     cout << "是否需要负数?(回答1或0):" << endl;
 69     cin >> cc;
 70     if (aa == 1)
 71     {
 72         for (i = 0; i < daYinShu; i++)//判断是否重复
 73         {
 74             b[i] = rand() % pj + min;
 75             c[i] = rand() % pj + min;
 76             d[i] = rand() % 4;
 77             for (j = 0; j < i; j++)
 78             {
 79                 while (b[j] == b[i] && c[j] == c[i]&&d[i]==d[j])
 80                 {
 81                     b[i] = rand() % pj + min;
 82                     c[i] = rand() % pj + min;
 83                     d[i] = rand() % 4;
 84                 }
 85             }
 86         }
 87         for (i = 0; i < daYinShu; i++)
 88         {
 89             e = rand() % 2;
 90             switch (d[i])
 91             {
 92             case 0:
 93                 cout << b[i] << " + " << c[i] << " = " << endl;
 94                 break;
 95             case 1:
 96                 if (cc == 0)
 97                 {
 98                     if (b[i] < c[i])
 99                     {
100                         s = b[i];
101                         b[i] = c[i];
102                         c[i] = s;
103                     }
104                     else
105                         cout << b[i] << " - " << c[i] << " = " << endl;
106                     break;
107                 }
108                 else
109                     cout << b[i] << " - " << c[i] << " = " << endl;
110                 break;
111             case 2:
112                 if (e == 0)
113                 {
114                     cout << b[i] << " * " << c[i] << " = " << endl;
115                     break;
116                 }
117                 else if (e == 1)
118                 {
119                     cout << b[i] << " * ( - " << c[i] << " ) = " << endl;
120                     break;
121                 }
122             case 3:
123                 if (c[i] == 0)//分母不能为零
124                 {
125                     i--;
126                     break;
127                 }
128                 else if (bb == 1)
129                 {
130                     if (b[i] % c[i] != 0)
131                     {
132                         cout << b[i] << " / " << c[i] << " = " << endl;
133                         break;
134                     }
135                     else
136                     {
137                         i--;
138                         break;
139                     }
140                 }
141                 else if (bb == 0)
142                 {
143                     if (b[i] % c[i] != 0)
144                     {
145                         cout << b[i] << " / " << c[i] << " = " << endl;
146                         break;
147                     }
148                     else
149                     {
150                         i--; 
151                         break;
152                     }
153                 }
154                 break;
155             }
156         }
157     }
158     else
159     {
160         for (i = 0; i < daYinShu; i++)//判断是否重复
161         {
162             b[i] = rand() % pj + min;
163             c[i] = rand() % pj + min;
164             d[i] = rand() % 2;
165             for (j = 0; j < i; j++)
166             {
167                 while (b[j] == b[i] && c[j] == c[i])
168                 {
169                     b[i] = rand() % pj + min;
170                     c[i] = rand() % pj + min;
171                     d[i] = rand() % 2;
172                 }
173             }
174         }
175         for (i = 0; i < daYinShu; i++)
176         {
177             switch (d[i])
178             {
179             case 0:
180                 cout << b[i] << " + " << c[i] << " = " << endl;
181                 break;
182             case 1:
183                 if (cc == 0)
184                 {
185                     if (b[i] < c[i])
186                     {
187                         s = b[i];
188                         b[i] = c[i];
189                         c[i] = s;
190                     }
191                     else
192                     {
193                         cout << b[i] << " - " << c[i] << " = " << endl;
194                         break;
195                     }
196                 }
197                 else
198                 {
199                     cout << b[i] << " - " << c[i] << " = " << endl;
200                     break;
201                 }
202             }
203         }
204     }
205 }

 

posted on 2016-03-12 10:51  L养一只猫  阅读(237)  评论(3编辑  收藏  举报

导航