zoukankan      html  css  js  c++  java
  • 随机生成30道四则运算

    设计思路:

    1.生成随机数

       ①找到生成随机数函数

       ②控制随机数产生的范围

       ③输出随机数

    2.解决随机运算符问题

       ①用生成的随机数除4取余加1得1,2,3,4四个数(分别表示+,-,*,/四个符号)

       ②运用switch输出符号

    3.真分数的解决

       ①分子小于分母

       ②生成的分子随机数小于分母随机数

    4.真分数和整数运算同时输出

       ①再运用一次随机函数,用1和2分别代表整数和真分数

    代码:

    //随机生成30个1~99的加减乘除运算,包括真分数
    #include<iostream>
    #include<time.h>
    using namespace std;
    void main()
    {
        int num,num1, num2,num3,num4, fuhao, i,a=0,b=0,c=0,d=0,e;
        srand((int)time(NULL));//随机种子
        for (i = 0; i < 30; i++)
        {
            num1 = 1 + rand() % 100;//将1到100内的数随机赋予num1
            num2 = 1 + rand() % 100;//将1到100内的数随机赋予num2
            num3 = 1 + rand() % 100;//将1到100内的数随机赋予num3
            num4 = 1 + rand() % 100;//将1到100内的数随机赋予num4
            num = 1 + rand() % 2;//随机生成1或2分别表示整数和分数
            if (num == 1)
            {
                fuhao = num1 % 4 + 1;
                cout << num1;
                switch (fuhao)
                {
                case 1:cout << "+"; break;
                case 2:cout << "-"; break;
                case 3:cout << "×"; break;
                case 4:cout << "÷"; break;
                }
                cout << num2 << "=" << endl;
            }
            if(num==2)
            {
                a = num1;
                b = num2;
                if (num1 > num2)
                {
                    e = a;
                    a = b;
                    b = e;
                }
                cout << "("<<a << "/" << b<<") ";
                fuhao = num1 % 4 + 1;
                switch (fuhao)
                {
                case 1:cout << "+"; break;
                case 2:cout << "-"; break;
                case 3:cout << "×"; break;
                case 4:cout << "÷"; break;
                }
                c = num3;
                d = num4;
                if (num3 > num4)
                {
                    e = c;
                    c = d;
                    d = e;
                }
                cout <<"("<< c << "/" << d<<")"<<"="<<endl;
            }
        }
    }
  • 相关阅读:
    中断
    按键
    uart stdio的移植1
    串口通信实战
    串口通信相关知识详解
    SOC时钟
    arm-linux-ld: cannot find sdram_init.o
    SDRAM初始化
    代码重定位实战
    s5pv210的启动过程
  • 原文地址:https://www.cnblogs.com/brucekun/p/5244370.html
Copyright © 2011-2022 走看看