一、实验目的:

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 }

最新文章

  1. log4j分离日志输出 自定义过滤 自定义日志文件
  2. jQuery源码分析系列:Callback深入
  3. 如何用 JIRA REST API 创建 Issue
  4. ProGuard
  5. 仿酷狗音乐播放器开发日志三——修复CEditUI的bug2
  6. 【docker】docker初试与填坑
  7. JavaWeb核心编程之(三.1)ServletHello
  8. CodeForces 235C Cyclical Quest(后缀自动机)
  9. POJ 3654 &amp;amp; ZOJ 2936 &amp;amp; HDU 2723 Electronic Document Security(模拟)
  10. 用linux 命令 执行ci框架的方法
  11. js中substr,substring,indexOf,lastIndexOf等的用法
  12. “No module named context_processors”
  13. Ubuntu本地文件上传至HDFS文件系统出现的乱码问题及解决方案
  14. centos 设置中文
  15. 实验一:基于STM32F1的流水灯实验(库函数)
  16. go中defer的理解--defer、return、返回值之间执行顺序
  17. DNS主从复制及子域(三)
  18. C++ 枚举转字符串
  19. PhpStorm 回到上次编辑位置的快捷键
  20. Cloudera Manager Admin控制台启动不起来

热门文章

  1. 【转】BIO,NIO和AIO
  2. Tomcat 的连接数与线程池
  3. uniapp APP端 跳转微信小程序 完成微信支付功能,并回跳回来
  4. VS2010运行opencv的程序,出现“应用程序无法正常启动0xc000007b”的解决方法
  5. Vue.Draggable使用总结
  6. linux 系统⽇常管理--运维必备
  7. Jetbrains Rider 2020.1.4 安装教程
  8. python爬虫实战——自动下载百度图片(文末附源码)
  9. Flink 中 DataStream 和 DataSet区别
  10. matlab读写文件