10以内四则运算-----------程序

注意10以内的随机数是如何生成的。另一种方法,rand()%10,结果也为0~9之间的数

RAND_MAX是一个符号常量,定义在cstdlib中。在visual c++中,它的值为32767.
rand()每次调用会生成一个0~
RAND_MAX整数
 1 //计算机四则运算,10以内
 2 #include <iostream>
 3 #include<cstdlib>
 4 #include<ctime>
 5 using namespace std;
 6 
 7 int main()
 8 {
 9     int num1, num2, op, result1, result2;
10 
11     srand(time(NULL));                         //随机数种子初始化,注意是以电脑时间为种子
12     num1 = rand() * 10 / (RAND_MAX + 1);       //将0~RAND_MAX之间的整数等分成10份,如果落在第一份,则映射成0;落在第二份,则映射成1;。。。。。
13     num2 = rand() * 10 / (RAND_MAX + 1);
14     op = rand() * 4 / (RAND_MAX + 1);          //道理同上,生成运算符:+-*/,0123
15 
16     switch (op)
17     {
18     case 0:cout << num1 << "+" << num2 << "=?";
19         cin >> result1;
20         if (num1 + num2 == result1) 
21             cout << "right\n";
22         else cout << "wrong";
23             break;
24     case 1:cout << num1 << "-" << num2 << "=?";
25         cin >> result1;
26         if (num1 - num2 == result1)
27             cout << "right\n";
28         else cout << "wrong";
29         break;
30     case 2:cout << num1 << "*" << num2 << "=?";
31         cin >> result1;
32         if (num1 * num2 == result1)
33             cout << "right\n";
34         else cout << "wrong";
35         break;
36     case 3:cout << num1 << "/" << num2 << "=?";
37         cin >> result1;
38         cout << "余数为?:";
39         cin >> result2;
40         if ((num1 / num2 == result1)&&(num1%num2==result2))
41             cout << "right\n";
42         else cout << "wrong";
43         break;
44     default:
45         break;
46     }
47     
48     cin.ignore();
49     cin.get();
50     return 0;
51 
52 }

 

posted @ 2017-07-02 23:26  sky_lover  阅读(384)  评论(0编辑  收藏  举报