zoukankan      html  css  js  c++  java
  • 四则运算出题1

    1、题目要求:

          完成一个程序,自动出30道题,范围在100以内,包括加减乘除,整数和真分数

    2、实现思路:

         程序自动出30道题,运算数和运算符号都是随机。

          (1)先自动出一道题,重复过程30次即可;

          (2)出一道题,要分为三个部分:第一个数、运算符号、第二个数;

          (3)两个数可以直接用随机数产生,四个运算符可以用产生的随机数(1~4)来一一对应;

          (4)如果是真分数,可以用随机产生的两个整数来组成一个分数,将较小的数作为分子即可成为真分数;

          (5)用随机产生的1、2 来决定产生的数是真分数或是整数。

    3、思路整理(实现步骤):

         用随机产生的1、2 来决定第一个数是真分数或是整数,随机产生一个整数或是两个整数组成真分数作为第一个运算数,用产生的随机数(1~4)来决定产生的运算符号用随机产生的1、2 来决定第一个数是真分数或是整数,随机产生一个整数或是两个整数组成真分数作为第二个运算数,对运行界面进行整理。

    4、源代码:

    //此程序用来实现四则运算自动出题,范围包括整数、真分数
    //王永维,2016、3、5

    #include<iostream>
    using namespace std;
    void main()
    {
        int fenshuRand;//真分数或整数
        int numRand1,numRand2; //运算数
        int fuhaoRand; //运算符号
        int count; //产生的式子个数
        for(count=0;count<30;count++)
        {
            //输出题号
            cout<<" ("<<count+1<<") ";

            //选择运算数是真分数或者整数
            fenshuRand=rand()%2+1;

            //产生第一个数
            if(fenshuRand==1)// fenshuRand 为1 为整数
            {
            numRand1=rand()%100+1;
            cout<<numRand1;
            }
            if(fenshuRand==2)// fenshuRand 为2 为真分数
            {
            numRand1=rand()%100+1;
            numRand2=rand()%100+1;
            if(numRand1<numRand2)
                cout<<"("<<numRand1<<"/"<<numRand2<<")";
            else
                cout<<"("<<numRand2<<"/"<<numRand1<<")";
            }
             //产生运算符号
            fuhaoRand=rand()%4+1;
            if(fuhaoRand==1)
                cout<<" + ";
            else if(fuhaoRand==2)
                cout<<" - ";
            else if(fuhaoRand==3)
                cout<<" × ";
            else
                cout<<" ÷ ";

            //产生第二个数
            fenshuRand=rand()%2+1;
            if(fenshuRand==1)// fenshuRand 为1 为整数
            {
                numRand1=rand()%100+1;
                cout<<numRand1;
            }
            if(fenshuRand==2)// fenshuRand 为2 为真分数
        {
               numRand1=rand()%100+1;
           numRand2=rand()%100+1;
               if(numRand1<numRand2)
                    cout<<"("<<numRand1<<"/"<<numRand2<<")";
               else
                    cout<<"("<<numRand2<<"/"<<numRand1<<")";

             }
        cout<<"="<<endl;
        }
    }

    5、结果截图:

  • 相关阅读:
    MySQL Delete 后,如何快速释放磁盘空间
    浅谈MySQl 主从复制
    MySQL 5.6,5.7 基于Shell 的一键安装
    【MySQL 5.7 】从库1032 报错处理
    633. Sum of Square Numbers
    find a balance point in an array
    Longest Common Prefix
    cubic root
    41. First Missing Positive
    build tree with balanced parenthesis
  • 原文地址:https://www.cnblogs.com/wangyw/p/5245470.html
Copyright © 2011-2022 走看看