• 个人作业1:随机生成四则运算


                                 个人作业1:随机生成四则运算

    思路:1.利用rand函数随机生成2个100以内随机整数作为两个运算数。

            2.随机生成小于5的整数,利用switch函数,0代表整数加法,1代表整数减法,2代表整数乘法,3代表整数除法,4代表真分数运算部分。

            3.真分数保证分母大于分子,分母不为0。分子分母均有两个随机数相除获得。

            4.将以上设置循环打印输出.

    代码:

    //随机生成30道四则运算(包括真分数)

    //孔宇航 2016/3/4

    #include<iostream>

    #include<stdlib.h>

    #include<iomanip>

    #include<time.h>

    using namespace std;

    #define random() (rand()%100)

    void main()

    {

                int num1,num2,num3,num4;

                srand((int)time(NULL));

           for(int i=0;i<30;i++)

               {

                        num1=random();

                        num2=random();

                       int k=(int)rand()%5;

                       switch(k)

                       {

                       case 0:{cout<<num1<<"+"<<num2<<"=";

                       break;}                                 //进行整数加法运算

                       case 1:{cout<<num1<<"-"<<num2<<"=";

                       break;}                                //进行整数减法运算

                       case 2:{cout<<num1<<"*"<<num2<<"=";

                       break;}                                //进行整数乘法运算

                       case 3:{

                       while(num2==0)

                       num2=random();

                       cout<<num1<<"/"<<num2<<"=";

                       break;}                                //进行整数除法运算

                       case 4:                                //真分数运算部分

                 {

              while(num2==0||num1>=num2)

             {

                num1=random();

                           num2=random();

             }

                num3=random();

                           num4=random();

            while(num4==0||num3>=num4)

            {

                num3=random();

                           num4=random();

            }

                int q=(int)rand()%4;

            switch(q)

            {

                case 0:

                    cout<<"("<<num1<<"/"<<num2<<")"<<"+"<<"("<<num3<<"/"<<num4<<")"<<"=";

                  

                    break;

                case 1:

                       cout<<"("<<num1<<"/"<<num2<<")"<<"-"<<"("<<num3<<"/"<<num4<<")"<<"=";

                    break;

                case 2:

                     cout<<"("<<num1<<"/"<<num2<<")"<<"*"<<"("<<num3<<"/"<<num4<<")"<<"=";

                  

                    break;

                case 3:

                    cout<<"("<<num1<<"/"<<num2<<")"<<"/"<<"("<<num3<<"/"<<num4<<")"<<"=";

                    break;

                         }

                       }

                    }

                       cout<<endl;

              }

    }

    截图:

          此次的小程序利用了3个都小时的时间,因为我的编程能力不好,有些东西需要重新学习,还多次出现错误,比如最开始明明设置了30次的循环却只能打印出16个,不知道哪里出了错误,也许16是个幸运数字,哈哈。还有能打印真分数就打印不出来加法,能打印加法就打印不出来真分数,后来发现是变量随机数没有设置为小于5,马虎了,耽误不少时间。其中关于时间种子,避免随机数相同的代码是在网上查阅获得的,学习了新知识呦。这么个小程序就用了这么久很是郁闷,希望以后能提高能力与速率完成更大更复杂的程序。

  • 相关阅读:
    loj6033.「雅礼集训 2017 Day2」棋盘游戏
    loj6032. 「雅礼集训 2017 Day2」水箱
    BZOJ 5217 [Lydsy2017省队十连测] 航海舰队
    P4173 残缺的字符串
    P3723 [AH2017/HNOI2017]礼物
    P3321 [SDOI2015]序列统计
    P4841 [集训队作业2013]城市规划
    MySQL基础
    MySQL查询
    HTTP响应码
  • 原文地址:https://www.cnblogs.com/kongyuhang/p/5247738.html
Copyright © 2020-2023  润新知