软件工程课后作业一之30道随机四则运算程序

题目:编写一道程序实现一个小学二年级学生的30道随机四则运算的程序,尽量完善,符合实际情况

 

 1 #include <stdlib.h>
 2 #include <stdio.h>
 3 #include <conio.h>
 4 #include <time.h>
 5 int main()
 6 {
 7     int a = 0;
 8     int b = 0;
 9     int mode = 0;//0:加  1:减   2:乘  3:除 
10     int c = 0;
11     int result = 0;
12     int score = 0;
13     int i = 0; 
14     srand((unsigned)time( NULL ) ); //初始化随机数发生器,使得每次运行生成的随机数不同
15     for(i=0;i<30;i++) //做30题
16     {  
17         a = rand() % 10; //生成一个0~9之间的随机数
18         b = rand() % 10;  //生成一个0~9之间的随机数
19         mode = rand() % 4; //生成一个0~3之间的随机数,代表运算符
20         printf("%d", a);   //打印算式
21         switch(mode) //确定运算符
22         {  
23         case 0:   
24             printf("+");   
25             result= a + b;   //加法运算的正确答案
26             break;  
27         case 1: 
28             printf("-");   
29             result= a - b;   //减法运算的正确答案
30             break;  
31         case 2:   
32             printf("*");   
33             result= a * b;   //乘法运算的正确答案
34             break;  
35         case 3:  
36             if(b==0)
37             {
38             b =1; 
39             }                //除数不为0
40             printf("/");   
41             result= a / b;   //除法运算的正确答案
42             break;  
43         default:  
44             printf("something is wrong!
");   
45             break; 
46         } 
47         printf("%d = ", b); 
48         scanf("%d", &c); //输入答案
49         if(c == result) //与正确答案一致
50         {  
51             score+= 1;  //答对的题数
52             printf("Right

"); 
53         } 
54         else 
55         {  
56             printf("Wrong

"); //答错
57         }
58     }
59     printf("Yourscore is: %d


", score);//显示30道题中答对的题数
60     return 1;
61 }

 总结及思路:

上课未能按时完成的原因:从大一结束开始好久没自觉编写C或C++语言程序,对编程生疏还有编程能力不是很好是主要原因。通过这次实验让我认识到自己编程能力的薄弱,需要加强练习。

我的思路:既然是随机四则运算我就用到了随机函数rand(),对于小学二年级学生,我尽量将运算结果范围限制在100以内;要出30道题目我就用到了for循环产生,其中我避免了除数不为0情况。(代码中有详细注释)

实验截图:

原文地址:https://www.cnblogs.com/2015tan/p/4321632.html