基于C语言的小学四则运算出题器
一、实验目的:
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 }
基于C语言的小学四则运算出题器的更多相关文章
- EGener2四则运算出题器
项目源码: https://git.coding.net/beijl695/EGener2.git (代码纯属原创,设计细节不同,请思量) 项目发布后,由于期间各种事情,耽搁至最后一天交付.这次的项目 ...
- C++四则运算出题器---有答案版
一.实验题目 四则运算扩展----能接受答案并判断对错然后给出成绩. 二.实验思路 在每次输出算式后面输入答案,然后判断对错,对则统计. 稍微优化了一下界面. 三.代码 // 12345.cpp : ...
- 四则运算出题器(C++)-BUG修复
定制题目数量这个功能测试: (1)输入题目数为负数时: 可正确处理: (2)输入题目数量为0时: 可正确处理: (3)输入题目数量为小数时: 程序运行出错: 错误分析: 因为代码中题目数量的变量Que ...
- 四则运算出题器(c++)
一.设计思路 这次版本加入了一下功能: 可定制题目的数量:修改循环次数: 可以定制每行打印的题目数和行间距的大小(当前题目序号可以整除定制数时输出输入的行间距个换行符): 可以定制算式的范围(修改随机 ...
- paperOne基于java web的简易四则运算出题网站
项目成员:张金生 张政 需求概要 1.运算数均为正整数 2.包含的运算符有+,-,*,/ 3.除法运算结果为整除运算 4.批量生成题目并判题 核心功能分析 1.题目生成——java后端 题目生 ...
- 结对编程——paperOne基于java web的简易四则运算出题网站
项目成员:张金生 张政 需求分析: 1.要进行四则运算: 2.运算题目随机: 3.进行对错判断: 4.整数运算. 程序概要: 1.用JSP实现: 2.用户可选择题目数量: 3.答题页用表格列出 ...
- C语言基于GTK+Libvlc实现的简易视频播放器
小编心语:现下,各种视频播放软件层出不穷,竞争也越演越烈,不知道大家有木有这个想法,小编有时在想能不能做一款属于自己的视频播放器呢~小编特意去实验楼,整理出了这篇关于如何实现简易视频播放器的博文.简易 ...
- 基于C# 语言的两个html解析器
基于C# 语言的两个html解析器 1)Html Agility Pack http://nsoup.codeplex.com/ 代码段示例: HtmlDocument doc = new HtmlD ...
- 【软件工程Ⅱ】作业四 |个人项目-小学四则运算 “软件”之初版(C语言)
本次作业的要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2186 本次作业代码的github地址:https://gith ...
- 小学四则运算结对项目报告(GUI)
小学四则运算结对项目报告(GUI) 一.Coding.Net项目地址: https://git.coding.net/wsshr/Calculation.git 二.PSP表格(完成前): PSP 任 ...
随机推荐
- layui 关闭/打开新标签
setTimeout(function () { //关闭当前页面并跳转到课程列表 var topLayui = parent === self ? layui : top.layui; parent ...
- IPC,进程间通信
信号机制 也叫软中断,软件层次上对中断的模拟 kill -9 加进程号可以终止进程 linux下执行kill -l可以看到 这里面居然没有32 33 直接从31到34 所以一共是62个信号 1) SI ...
- vue项目前台带表格的页面,让表格根据屏幕大小自适应高度,小屏幕时不出现多个滚动条
参见馆藏库房系统, 右侧整体结构一般如下 <el-container class="ml10 mr10 br7 bgw"> <el-main> // el- ...
- adb 工具-原⽣安卓解决WiFi⽹络受限以及修改NTP服务
安装包下载地址:https://developer.android.google.cn/studio/releases/platform-tools 注: adb kill-server //结 ...
- Lua中__index元方法的介绍与使用
一.相关介绍请参考:Lua中__index原方法介绍 二.使用示例 代码如下: 下面示例使用的元素迭代器 --1.列表元素迭代器,仅返回列表中每一个元素,改列表索引必须为连续的数字 function ...
- Java+selenium自动爬取网站内容并写入本地
目的:本文主要描述如何使用Java+selenium爬取58同城招聘页,并记录指定职位的招聘公司名保存到本地 一.首先创建一个maven工程,配置依赖包 1 <dependencies> ...
- 实时平台-Flink篇
Flink任务统一通过实时平台统一管理的好处不用多说,这里简单介绍下实时平台-Flink模块的功能以及实现. 主要分为两大块 一.任务管理 任务管理主要包括任务的提交.暂停.下线.重启.历史版本回滚. ...
- dead code?
public static void main(String[] args) { DriverBase dbase = new DriverBase(); dbase.driverBase(); dr ...
- Leetcode本地阅读器开发--01界面设计一
返回项目声明及目录:Leetcode本地阅读器开发--总声明 整个界面设计如下:后续可能会不断优化和加入新功能 1.启动后界面 2.进行具体题目搜索 3.进行分类搜索 本节主要介绍程序界面的绘制: 1 ...
- Docker基本命令之 镜像管理
镜像管理 docker常用基础命令: 查看docker版本信息:docker version 查看docker系统信息:docker info docker服务相关: 查看docker服务:syste ...