zoukankan      html  css  js  c++  java
  • 程序实现自动生成30道四则运算题目(1)

    课堂上老师要求我们做这样一个题目,题目要求是自动生成30道四则运算题目,要求除整数加减乘除外,还有真分数加减乘除。刚开始听到这个题目一头雾水,有点复杂,但仔细拆分这个题目不难发现,这个题目可以简化成三个小问题,分别是随机数自动生成两个数,自动生成符号,还有输出结果。对于随机数自动生成两个数可以简化为随机数生成整数,随机数生成真分数,生成真分数可以简化到随机数生成分子和分母。对于自动生成符号,也可以简化为随机数生成1,2,3,4,分别代表+,—,*,/,输出结果可以用一个for循化,实现输出30道题,另外还有几个小问题,例如第一是,真分数分子小于分母,第二是,生成的数中有0存在,不能做分母,需要用if语句做判断。

    下面是实现问题的代码:

     1 //课堂练习,题目自动生成四则运算题目,题目要求除整数加减乘除外,还有真分数加减乘除。2016.3.3,杨超群
     2 #include<iostream>
     3 #include<time.h>
     4 using namespace std;
     5 float num[6];
     6 void sort(){                      //生成随机数
     7     num[0]=rand()%100;
     8     num[1]=rand()%100;
     9     num[2]=rand()%100;
    10     num[3]=rand()%100;
    11     for(int i=0;i<4;i++){
    12         for(int j=0;j<i;j++){ 
    13             if(num[i]>num[j])
    14             {
    15                 int temp=0;
    16                 temp=num[i];
    17                 num[i]=num[j];
    18                 num[j]=temp;
    19             }
    20         }
    21     }    
    22 }
    23 void main(){               
    24     srand((unsigned)time(NULL));
    25     for(int i=0;i<30;i++){
    26         sort();
    27         num[4]=rand()%4+1;
    28         num[5]=rand()%2+1;
    29         if(num[4]==1){
    30             if(num[5]==1)
    31                 cout<<num[1]<<"+"<<num[2]<<"="<<endl;
    32             else{
    33                 for(;;){
    34                     if(num[0]==0||num[1]==0)
    35                         sort();
    36                     else{
    37                         cout<<"("<<num[2]<<"/"<<num[0]<<")"<<"+"<<"("<<num[3]<<"/"<<num[1]<<")"<<"="<<endl;
    38                         break;
    39                     }
    40                 }
    41             }
    42         }
    43         else if(num[4]==2){
    44             if(num[5]==1)
    45                 cout<<num[1]<<"-"<<num[2]<<"="<<endl;
    46             else{
    47                 for(;;){
    48                     if(num[0]==0||num[1]==0)
    49                         sort();
    50                     else{
    51                         cout<<"("<<num[2]<<"/"<<num[0]<<")"<<"-"<<"("<<num[3]<<"/"<<num[1]<<")"<<"="<<endl;
    52                         break;
    53                     }
    54                 }
    55             }
    56         }
    57         else if(num[4]==3){
    58             if(num[5]==1)
    59                 cout<<num[1]<<"*"<<num[2]<<"="<<endl;
    60             else{
    61                 for(;;){
    62                     if(num[0]==0||num[1]==0)
    63                         sort();
    64                     else{
    65                         cout<<"("<<num[2]<<"/"<<num[0]<<")"<<"*"<<"("<<num[3]<<"/"<<num[1]<<")"<<"="<<endl;
    66                         break;
    67                     }
    68                 }
    69             }
    70         }
    71         else if(num[4]==4){
    72             if(num[5]==1){
    73                 for(;;){
    74                     if(num[2]==0)
    75                         sort();
    76                     else{
    77                         cout<<num[1]<<"/"<<num[2]<<"="<<endl;
    78                         break;
    79                     }
    80                 }
    81             }
    82             else{
    83                 for(;;){
    84                     if(num[0]==0||num[1]==0||num[3]==0)
    85                         sort();
    86                     else{
    87                         cout<<"("<<num[2]<<"/"<<num[0]<<")"<<"/"<<"("<<num[3]<<"/"<<num[1]<<")"<<"="<<endl;
    88                         break;
    89                     }
    90                 }
    91             }
    92         }
    93     }
    94 }
  • 相关阅读:
    循环处理
    XMLHttpRequest 加载进度
    createjs 的 bitmapdata类
    console打印数组object具体内容
    html5 粒子组合成logo 的制作思路及方法
    createjs 更新
    css取消input、select默认样式(手机端)
    js获取url参数 兼容某些带#url
    Adobe Edge Animate CC 不再开发更新!
    《FLASH CC 2015 CANVAS 中文教程》——3、this关键字 入门
  • 原文地址:https://www.cnblogs.com/linumy/p/5244363.html
Copyright © 2011-2022 走看看