目录

每日一题--给小朋友的自动出题自动批改

目录
#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int main()
{
    srand((int)time(0));  // 产生随机种子  把0换成NULL也行
    int left,right,oper,result;
    char char_oper;   //除了数字oper变量外,还有字符char_oper变量
    left = rand() % 10;
    right = rand() % 10;
    oper = rand() % 4;  //这是加减乘除符号,用0,1,2,3四个数表示

    switch(oper)
    {
        case 0:char_oper = '+';
        cout << left << char_oper << right << "=";
        cin >> result;
        if(result == left + right)
        {
            cout << "YES";
        }
        else
        {
            cout << "NO";
        }
        break;

        case 1:char_oper = '-';
        cout << left << char_oper << right << "=";
         cin >> result;
        if(result == left - right)
        {
            cout << "YES";
        }
        else
        {
            cout << "NO";
        }
        break;
        case 2:char_oper = '*';
        cout << left << char_oper << right << "=";
         cin >> result;
        if(result == left * right)
        {
            cout << "YES";
        }
        else
        {
            cout << "NO";
        }
        break;
        case 3:char_oper = '/';
        cout << left << char_oper << right << "=";
         cin >> result;
        if(result == left / right)
        {
            cout << "YES";
        }
        else
        {
            cout << "NO";
        }
        break;
    }



    return 0;
}

利用随机数实现非数字变量的随机

0表示+

1表示-

2表示*

3表示/

用switch语句实现

这段代码比较巧妙,稍微琢磨一下