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

  • 相关阅读:
    携程的 Dubbo 之路
    应用上云新模式,Aliware 全家桶亮相杭州云栖大会
    重构:改善饿了么交易系统的设计思路
    Arthas 3.1.2 版本发布 | 增加 logger/heapdump/vmoption 命令
    如何检测 Web 服务请求丢失问题
    VPGAME的Kubernetes迁移实践
    Flink SQL 系列 | 5 个 TableEnvironment 我该用哪个?
    如何构建批流一体数据融合平台的一致性语义保证?
    Flink on YARN(下):常见问题与排查思路
    愚蠢的操作
  • 原文地址:https://www.cnblogs.com/nictang/p/7560994.html
Copyright © 2011-2022 走看看