小学生二年级四则运算2.0

Posted pcyyyyy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小学生二年级四则运算2.0相关的知识,希望对你有一定的参考价值。

在原有基础之上,希望加上分数的四则运算。

此次编程实现功能: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的主要内容,如果未能解决你的问题,请参考以下文章

二年级小学生四则运算30到题目

二年级小学生四则运算30道题目编写

设计四则运算包含真分数的小学二年级运算

小学二年级三十道四则运算题目。

小学二年级四则运算题

小学一二年级随机四则运算