生活随笔
收集整理的這篇文章主要介紹了
四则运算题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的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。