生活随笔
收集整理的这篇文章主要介绍了
四则运算题1
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
/*
信息:20133075 张勋 《随机生成30道四则运算题目》
要求:除整数外,还要支持真分数的四则运算
设计思路:
1.通过radom函数生成自然数,给变量赋值
2.另一个变量是真分数,分子比分母小
3.随机生成四则运算符
4.注意除数为0情况
注意:
这是两个函数!一个是srand函数!这是在调用rand()这个函数之前使用的!
rand()是一个产生随机数的函数!而srand是一个设置随机数种子的函数!通常这两
个函数是一起使用的!来完成产生随机数的功能!而time(NULL)这个函数的返回值是作
为srand函数的参数的!意思是以现在的系统时间作为随机数的种子来产生随机数!至
于NULL这个参数。只有设置成NULL才能获得系统的时间!
*/
1 #include<iostream>
2 #include<time.h>
3 #include<
string>
4 using namespace std;
5
6 int main()
7 {
8 //以现在的系统时间作为随机数的种子来产生随机数
9 srand(time(NULL));
10 char X;
11
12 cout <<
"请您选择四则运算题的难度:(1或2)\n" ;
13 cout <<
"1.简单(纯整数的运算)\n"<<
"2.困难(包含真分数的四则运算)\n";
14 cin >>
X;
15
16 //1.简单(纯整数的运算)
17 if (X ==
'1')
18 {
19
20 for (
int count =
0; count <
30;count++
)
21 {
22 int a =
0, b =
0;
23
24 a = rand() %
100;
25 b = rand() %
100;
26
27 //随机产生四则运算符
28 int sign =
0;
29 sign = (rand() %
100) %
4;
30 string opera_sign[
4] = {
"+",
"-",
"*",
"/" };
31
32 //当b=0且运算为除法时重新生成
33 while (b ==
0 & sign ==
3)
34 {
35 b = rand() %
100;
36 }
37
38 switch (sign)
39 {
40 case 0:cout << a << opera_sign[sign] << b <<
"=" << endl;
break;
41 case 1:cout << a << opera_sign[sign] << b <<
"=" << endl;
break;
42 case 2:cout << a << opera_sign[sign] << b <<
"=" << endl;
break;
43 case 3:cout << a << opera_sign[sign] << b <<
"=" << endl;
break;
44 }
45 }
46 }
47
48
49 //2.困难(包含真分数的四则运算)
50 if (X ==
'2')
51 {
52 for (
int count =
0; count <
30; count++
)
53 {
54 int a1 =
0, b1 =
0, a2 =
0, b2 =
0;
55
56 a1 = rand() %
100;
57 b1 = rand() %
100;
58 a2 = rand() %
100;
59 b2 = rand() %
100;
60
61 //判断是否为真分数
62 while (a1>b1||b1==
0)
63 {
64 a1 = rand() %
100;
65 b1 = rand() %
100;
66 }
67
68 while (a2>b2||b2==
0)
69 {
70 a2 = rand() %
100;
71 b2 = rand() %
100;
72 }
73
74 //随机产生四则运算符
75 int sign =
0;
76 sign = (rand() %
100) %
4;
77 string opera_sign[
4] = {
"+",
"-",
"*",
"/" };
78
79 switch (sign)
80 {
81 case 0:cout <<
"(" << a1 <<
"/" << b1 <<
")" << opera_sign[sign] <<
"(" << a2 <<
"/" << b2 <<
")" <<
"=" << endl;
break;
82 case 1:cout <<
"(" << a1 <<
"/" << b1 <<
")" << opera_sign[sign] <<
"(" << a2 <<
"/" << b2 <<
")" <<
"=" << endl;
break;
83 case 2:cout <<
"(" << a1 <<
"/" << b1 <<
")" << opera_sign[sign] <<
"(" << a2 <<
"/" << b2 <<
")" <<
"=" << endl;
break;
84 case 3:cout <<
"(" << a1 <<
"/" << b1 <<
")" << opera_sign[sign] <<
"(" << a2 <<
"/" << b2 <<
")" <<
"=" << endl;
break;
85 }
86 }
87 }
88
89 }
运行程序后,会产生如下提示:
选择简单,可产生:
选择困难级别,可产生真分数运算:
本道题,需要注意的是:对 srand(time(NULL))函数的使用,可以保证每次运行时,系统产生的结果不一样!
这是两个函数!一个是srand函数!这是在调用rand()这个函数之前使用的!
rand()是一个产生随机数的函数!而srand是一个设置随机数种子的函数!通常这两
个函数是一起使用的!来完成产生随机数的功能!而time(NULL)这个函数的返回值是作
为srand函数的参数的!意思是以现在的系统时间作为随机数的种子来产生随机数!至
于NULL这个参数。只有设置成NULL才能获得系统的时间!
*/
转载于:https://www.cnblogs.com/X-knight/p/5248250.html
总结
以上是生活随笔为你收集整理的四则运算题1的全部内容,希望文章能够帮你解决所遇到的问题。
如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。