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