随机生成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;
        }
    }
}

 

posted @ 2016-03-05 11:11  四季信风  阅读(1212)  评论(0编辑  收藏  举报