• 软件工程个人作业01


    代码实现随机生成30道四则运算题目:

    1.生成随机数(利用rand()%100确定,使用srand((unsigned)time(NULL));避免重复。)

    2.使用一个随机数来确定符号,1234对应加减乘除,使用if就可轻松判断。

    3.使用另一个随机数来确定是否是分数运算,12分别代表整数和分数,分数运算时分母不为0,整数运算时除数不为0,否则,重新生成一个随机数。

    4.输出就很简单了,根据符号随机数确定是什么符号就行了。

    源代码:

    #include<iostream>
     #include<time.h>
     using namespace std;
     float num[6];
     void random(){                      //生成随机数
        num[0]=rand()%100;
        num[1]=rand()%100;
        num[2]=rand()%100;
        num[3]=rand()%100;
        
    }
    void main(){               
        srand((unsigned)time(NULL));
        for(int i=0;i<30;i++){
            random();
            num[4]=rand()%4+1;
            num[5]=rand()%2+1;
            if(num[4]==1){
               if(num[5]==1)
                    cout<<num[1]<<"+"<<num[2]<<"="<<endl;
               else{
                   for(;;){
                      if(num[0]==0||num[1]==0)
                          random();
                      else{
                           cout<<"("<<num[2]<<"/"<<num[0]<<")"<<"+"<<"("<<num[3]<<"/"<<num[1]<<")"<<"="<<endl;
                           break;
                       }
                   }
               }
           }
           else if(num[4]==2){
               if(num[5]==1)
                   cout<<num[1]<<"-"<<num[2]<<"="<<endl;
               else{
                   for(;;){
                       if(num[0]==0||num[1]==0)
                           random();
                       else{
                           cout<<"("<<num[2]<<"/"<<num[0]<<")"<<"-"<<"("<<num[3]<<"/"<<num[1]<<")"<<"="<<endl;
                           break;
                       }
                   }
               }
           }
           else if(num[4]==3){
               if(num[5]==1)
                   cout<<num[1]<<"*"<<num[2]<<"="<<endl;
               else{
                   for(;;){
                       if(num[0]==0||num[1]==0)
                           random();
                       else{
                           cout<<"("<<num[2]<<"/"<<num[0]<<")"<<"*"<<"("<<num[3]<<"/"<<num[1]<<")"<<"="<<endl;
                           break;
                       }
                   }
               }
           }
           else if(num[4]==4){
               if(num[5]==1){
                   for(;;){
                       if(num[2]==0)
                           random();
                       else{
                           cout<<num[1]<<"/"<<num[2]<<"="<<endl;
                           break;
                       }
                   }
               }
               else{
                   for(;;){
                       if(num[0]==0||num[1]==0||num[3]==0)
                           random();
                       else{
                           cout<<"("<<num[2]<<"/"<<num[0]<<")"<<"/"<<"("<<num[3]<<"/"<<num[1]<<")"<<"="<<endl;
                           break;
                       }
                   }
               }
           }
        }
    }

    结果截图:

  • 相关阅读:
    cocos2d-x 屏幕坐标系和OPenGL坐标系转换
    cocos2d-x 判断系统语言
    cocos2d-x 动画加速与减速
    高性能网络服务器编程:为什么linux下epoll是最好,Netty要比NIO.2好?
    Netty学习三:线程模型
    java NIO原理及实例
    java多线程系列(四)---ReentrantLock的使用
    Java并发之AQS详解
    微服务踩坑之边界
    设计模式:观察者模式(有利于代码解耦)
  • 原文地址:https://www.cnblogs.com/kt97458/p/5251388.html
Copyright © 2020-2023  润新知