一、实验目的:
1、帮助老师产出每周随机的300道含有两个运算符的四则运算,。
2、每次题目的产出均为随机,增强同学的四则运算能力。
二、实验环境:
Visual C++
三、实验内容:
1、实现随机生成两个运算符的四则运算习题,节约老师时间。
2、制作一个小清新的界面风格,让老师一目了然.
3、学生在完成力所能及的题目之后,可以尝试试题内难题,超前完成学习任务,为考上民办初中打下良好的基础。
四、实验步骤
清新界面,一目了然,明确了本次实验的目的
题目完全随机且不重复,在保证小学生的日常作业难度的情况下超前布置了25%的难题,锻炼小学生的自主探究以及融会贯通的能力
五、实验结果及分析
我们原本制作的程序过于理想化,在运行之后的结果确实随机,但是第二次运行之后却发现第二次的输出题目与第一次完全相同,于是我们推到重建,使用完全随机数,使得题目不重复。
六、实验体会
本次实验我们采用的是结对编程的方式完成的,第一次使用这样的方式我们收获了很多,首先我们在使用哪种计算机语言上产生了分歧,最后采用的最基础的C语言,然后我们在编程的过程中遇到过代码出错,语法问题的情况,以往我需要花费大量的时间去纠错,但是这次我刚编写好一句,同伴就指出了我的语法错误,不仅在时间上完成了效率最大化,我们由于意见不同产生的分歧也使得程序完成的更加圆满。
七、源代码
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <conio.h> 4 #include <time.h> 5 int main(){ 6 int a = 0; 7 int b = 0; 8 int c = 0; 9 int d; 10 int mode = 0; 11 int i = 0; 12 printf("--------------------------------------------\n"); 13 printf("1 生成300道随机四则运算题 2 退出\n"); 14 printf("请输入:"); 15 scanf("%d",&d); 16 if(d == 1){ 17 srand((unsigned)time( NULL ) ); //初始化随机数发生器,使得每次运行生成的随机数不同 18 for(i=0;i<300;i++){ //做三百道题 19 a = rand() % 100; //生成一个0~99之间的随机数 20 b = rand() % 100; //生成一个0~99之间的随机数 21 c = rand() % 100; //生成一个0~99之间的随机数 22 mode = rand() % 16; //生成一个0~16之间的随机数,代表运算符 23 //printf("%d", a); //打印算式 24 switch(mode){ //确定运算符 25 case 0: 26 printf("%d+%d+%d = \n", a, b, c); 27 break; 28 case 1: 29 printf("%d+%d-%d = \n", a, b, c); 30 break; 31 case 2: 32 printf("%d+%d*%d = \n", a, b, c); 33 break; 34 case 3: 35 printf("%d+%d/%d = \n", a, b, c); 36 break; 37 case 4: 38 printf("%d-%d+%d = \n", a, b, c); 39 break; 40 case 5: 41 printf("%d-%d-%d = \n", a, b, c); 42 break; 43 case 6: 44 printf("%d-%d*%d = \n", a, b, c); 45 break; 46 case 7: 47 printf("%d-%d/%d = \n", a, b, c); 48 break; 49 case 8: 50 printf("%d*%d+%d = \n", a, b, c); 51 break; 52 case 9: 53 printf("%d*%d-%d = \n", a, b, c); 54 break; 55 case 10: 56 printf("%d*%d*%d = \n", a, b, c); 57 break; 58 case 11: 59 printf("%d*%d/%d = \n", a, b, c); 60 break; 61 case 12: 62 printf("%d/%d+%d = \n", a, b, c); 63 break; 64 case 13: 65 printf("%d/%d-%d = \n", a, b, c); 66 break; 67 case 14: 68 printf("%d/%d*%d = \n", a, b, c); 69 break; 70 case 15: 71 printf("%d/%d/%d = \n", a, b, c); 72 break; 73 default: 74 printf("something is wrong!\n"); 75 break; 76 } 77 } 78 } 79 else if(d == 2) 80 return 0; 81 }