题目:编写一道程序实现一个小学二年级学生的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情况。(代码中有详细注释)
实验截图: