zoukankan      html  css  js  c++  java
  • 程序1:自动生成小学四则运算题目

    本程序改变自:http://blog.csdn.net/qq_27926481/article/details/50836061

    语言:C++

    编译环境:visual studio 2015

    运行环境:Win10

    做出修改的地方:在原码基础上增加了可自主选择生成题目的顺序

    修改后的代码如下:

    #include<iostream>
    #include<stdlib.h>
    #include<iomanip>
    #include<time.h>
    using namespace std;
    #define random() (rand()%100)
    int main()
    {
        int i, j, m, a, b, c, d,count;
        char k;
        srand((int)time(NULL));  //设置时间种子 ,使得程序每次运行的结果都不同
        cout << "请输入生成多少道题目:" ;
        cin >>  count;
        for (i = 0;i<count;i++)
        {
            a = random();
            b = random();
            c = random();
            d = random();

            j = random();
            m = random();

            j = j % 4;
            m = m % 2;
            if (m == 0)  //m=0时,生成整数四则运算
            {
                if (j == 0) k = '+';
                else if (j == 1) k = '-';
                else if (j == 2) k = '*';
                else
                {
                    for (;;)
                    {
                        if (b == 0) b = random();
                        else break;
                    }
                    k = '/';
                }

                cout << setw(3) << a << setw(2) << k << setw(3) << b << setw(3) << "= " << endl;
            }
            else  //m=1时,生成真分数四则运算
            {
                for (;;) //位于分母的c不能为0
                {
                    if (c <= a)
                    {
                        c = random();
                    }
                    else break;
                }
                for (;;)  //位于分母的d不能为0
                {
                    if (d <= b)
                    {
                        d = random();
                    }
                    else break;
                }
                if (j == 0) k = '+';
                else if (j == 1) k = '-';
                else if (j == 2) k = '*';
                else  //当b为0时,b/d为除数,所以b也不能为0
                {
                    for (;;)
                    {
                        if (b == 0)
                        {
                            b = random();
                        }
                        else if (b <= d)
                        {
                            d = random();
                        }
                        else break;
                    }
                    k = '/';
                }

                cout << setw(3) << a << "/" << c << setw(2) << k << setw(3) << b << "/" << d << setw(3) << "= " << endl;
            }

        }
        return 0;
    }

    本意是想增加支持多个运算符的功能,可是一改就出bug,没调正确。

    GitHub上的源码:https://github.com/dangzhen/hello-world/blob/dangzhen-patch-1/main.cpp

  • 相关阅读:
    Representation Data in OpenCascade BRep
    Render OpenCascade Geometry Surfaces in OpenSceneGraph
    Render OpenCascade Geometry Curves in OpenSceneGraph
    OpenCascade Shape Representation in OpenSceneGraph
    Geometry Surface of OpenCascade BRep
    Geometry Curve of OpenCascade BRep
    Tyvj2017清北冬令营入学测试
    Spfa算法模板
    洛谷1016 旅行家的预算
    洛谷1290 欧几里得的游戏
  • 原文地址:https://www.cnblogs.com/nictang/p/7560994.html
Copyright © 2011-2022 走看看