1. 程式人生 > >小學生二年級四則運算2.0

小學生二年級四則運算2.0

分享圖片 main 2.0 結束 || max seed namespace 功能

在原有基礎之上,希望加上分數的四則運算。

此次編程實現功能:30道四則運算題的編寫(不重復編寫)

支持整型四則運算,還有分數四則運算

可制定出題的數量

 1 //開始編程時間:15:18
 2 //結束編程時間:16:42
 3 #include <iostream>
 4 #include <time.h>
 5 #include <stdlib.h>
 6 using namespace std;
 7 #define max 100
 8 #define n 30
 9 int main()
10 {
11          srand(time(NULL));       //seed
12          int num1,num2,num3,num4;
13          int i,j,m;
14          char ysf[4]={‘+‘,‘-‘,‘*‘,‘/‘};
15          for(m=0;m<n;m++)
16          {
17              j=rand()%2;  // 生成0或1
18              if(j==0)  // 整型四則運算
19              {
20                 i=rand()%4;   // 生成0-3的隨機數
21                 num1=rand() % max;  // 生成0-max-1的隨機數
22                 num2=rand() % max;
23                 switch(i){
24                     case 0: //整數相加
25                         cout<<num1<<ysf[i]<<num2<<"="<<endl;
26                     break;
27                     case 1: //整數相減
28                         cout<<num1<<ysf[i]<<num2<<"="<<endl;
29                     break;
30                     case 2://整數相乘
31                         cout<<num1<<ysf[i]<<num2<<"="<<endl;
32                     break;
33                     case 3: //整數相除
34                         while(num2==0)
35                            {//除數不為0
36                               num2=rand() % max;;
37                            }
38                         cout<<num1<<ysf[i]<<num2<<"="<<endl;
39                     break;
40                     default:
41                     break;}
42              }
43               else if(j==1)  // 分數四則運算
44                 {
45                     i=rand()%4;
46                     num1=rand() % max;
47                     num2=rand() % max;
48                     while(num2==0||num1>=num2){//分數分母不為0並且分子不能大於分母
49                         num1=rand() % max;
50                         num2=rand() % max;
51                      }
52                     num3=rand() % max;
53                     num4=rand() % max;
54                     while(num4==0||num3>=num4){//分數分母不為0並且分子不能大於分母
55                         num3=rand() % max;
56                         num4=rand() % max;
57                      }
58                     switch(i){
59                         case 0:        //分數相加
60                             cout<<num1<<"/"<<num2<<ysf[i]<<num3<<"/"<<num4<<"="<<endl;
61                         break;
62                         case 1:        //分數相減
63                             cout<<num1<<"/"<<num2<<ysf[i]<<num3<<"/"<<num4<<"="<<endl;
64                         break;
65                         case 2:        //分數相乘
66                             cout<<"("<<num1<<"/"<<num2<<")"<<ysf[i]<<"("<<num3<<"/"<<num4<<")"<<"="<<endl;
67                         break;
68                         case 3:       //分數相除
69                             while(num3==0){//作為分母的分數不為0
70                                 num3=rand() % max;
71                             while(num3>=num4){
72                                 num3=rand() % max;
73                                 num4=rand() % max;
74                                 }
75                              }
76                            cout<<"("<<num1<<"/"<<num2<<")"<<ysf[i]<<"("<<num3<<"/"<<num4<<")"<<"="<<endl;
77                        break;
78                        default:
79                        break;
80                        }
81                    }
82          }
83 }

編程運行截圖如下:

技術分享圖片

技術分享圖片

小學生二年級四則運算2.0