小學生二年級四則運算2.0
阿新 • • 發佈:2018-10-09
分享圖片 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