生活随笔
收集整理的這篇文章主要介紹了
四则运算题1
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
/*
信息:20133075?? 張勛? 《隨機生成30道四則運算題目》
要求:除整數(shù)外,還要支持真分?jǐn)?shù)的四則運算
設(shè)計思路:
? 1.通過radom函數(shù)生成自然數(shù),給變量賦值
? 2.另一個變量是真分?jǐn)?shù),分子比分母小
? 3.隨機生成四則運算符
? 4.注意除數(shù)為0情況
注意:
?? 這是兩個函數(shù)!一個是srand函數(shù)!這是在調(diào)用rand()這個函數(shù)之前使用的!
rand()是一個產(chǎn)生隨機數(shù)的函數(shù)!而srand是一個設(shè)置隨機數(shù)種子的函數(shù)!通常這兩
個函數(shù)是一起使用的!來完成產(chǎn)生隨機數(shù)的功能!而time(NULL)這個函數(shù)的返回值是作
為srand函數(shù)的參數(shù)的!意思是以現(xiàn)在的系統(tǒng)時間作為隨機數(shù)的種子來產(chǎn)生隨機數(shù)!至
于NULL這個參數(shù)。只有設(shè)置成NULL才能獲得系統(tǒng)的時間!
*/
1 #include<iostream>
2 #include<time.h>
3 #include<
string>
4 using namespace std;
5
6 int main()
7 {
8 //以現(xiàn)在的系統(tǒng)時間作為隨機數(shù)的種子來產(chǎn)生隨機數(shù)
9 srand(time(NULL));
10 char X;
11
12 cout <<
"請您選擇四則運算題的難度:(1或2)\n" ;
13 cout <<
"1.簡單(純整數(shù)的運算)\n"<<
"2.困難(包含真分?jǐn)?shù)的四則運算)\n";
14 cin >>
X;
15
16 //1.簡單(純整數(shù)的運算)
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 //隨機產(chǎn)生四則運算符
28 int sign =
0;
29 sign = (rand() %
100) %
4;
30 string opera_sign[
4] = {
"+",
"-",
"*",
"/" };
31
32 //當(dāng)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.困難(包含真分?jǐn)?shù)的四則運算)
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 //判斷是否為真分?jǐn)?shù)
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 //隨機產(chǎn)生四則運算符
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 }
?
運行程序后,會產(chǎn)生如下提示:
選擇簡單,可產(chǎn)生:
?
選擇困難級別,可產(chǎn)生真分?jǐn)?shù)運算:
?
本道題,需要注意的是:對?srand(time(NULL))函數(shù)的使用,可以保證每次運行時,系統(tǒng)產(chǎn)生的結(jié)果不一樣!
?這是兩個函數(shù)!一個是srand函數(shù)!這是在調(diào)用rand()這個函數(shù)之前使用的!
rand()是一個產(chǎn)生隨機數(shù)的函數(shù)!而srand是一個設(shè)置隨機數(shù)種子的函數(shù)!通常這兩
個函數(shù)是一起使用的!來完成產(chǎn)生隨機數(shù)的功能!而time(NULL)這個函數(shù)的返回值是作
為srand函數(shù)的參數(shù)的!意思是以現(xiàn)在的系統(tǒng)時間作為隨機數(shù)的種子來產(chǎn)生隨機數(shù)!至
于NULL這個參數(shù)。只有設(shè)置成NULL才能獲得系統(tǒng)的時間!
*/
轉(zhuǎn)載于:https://www.cnblogs.com/X-knight/p/5248250.html
總結(jié)
以上是生活随笔為你收集整理的四则运算题1的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。