一、实验目的:

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语言的小学四则运算出题器的更多相关文章

  1. EGener2四则运算出题器

    项目源码: https://git.coding.net/beijl695/EGener2.git (代码纯属原创,设计细节不同,请思量) 项目发布后,由于期间各种事情,耽搁至最后一天交付.这次的项目 ...

  2. C++四则运算出题器---有答案版

    一.实验题目 四则运算扩展----能接受答案并判断对错然后给出成绩. 二.实验思路 在每次输出算式后面输入答案,然后判断对错,对则统计. 稍微优化了一下界面. 三.代码 // 12345.cpp : ...

  3. 四则运算出题器(C++)-BUG修复

    定制题目数量这个功能测试: (1)输入题目数为负数时: 可正确处理: (2)输入题目数量为0时: 可正确处理: (3)输入题目数量为小数时: 程序运行出错: 错误分析: 因为代码中题目数量的变量Que ...

  4. 四则运算出题器(c++)

    一.设计思路 这次版本加入了一下功能: 可定制题目的数量:修改循环次数: 可以定制每行打印的题目数和行间距的大小(当前题目序号可以整除定制数时输出输入的行间距个换行符): 可以定制算式的范围(修改随机 ...

  5. paperOne基于java web的简易四则运算出题网站

    项目成员:张金生     张政 需求概要 1.运算数均为正整数 2.包含的运算符有+,-,*,/ 3.除法运算结果为整除运算 4.批量生成题目并判题 核心功能分析 1.题目生成——java后端 题目生 ...

  6. 结对编程——paperOne基于java web的简易四则运算出题网站

    项目成员:张金生     张政 需求分析: 1.要进行四则运算: 2.运算题目随机: 3.进行对错判断: 4.整数运算. 程序概要: 1.用JSP实现: 2.用户可选择题目数量: 3.答题页用表格列出 ...

  7. C语言基于GTK+Libvlc实现的简易视频播放器

    小编心语:现下,各种视频播放软件层出不穷,竞争也越演越烈,不知道大家有木有这个想法,小编有时在想能不能做一款属于自己的视频播放器呢~小编特意去实验楼,整理出了这篇关于如何实现简易视频播放器的博文.简易 ...

  8. 基于C# 语言的两个html解析器

    基于C# 语言的两个html解析器 1)Html Agility Pack http://nsoup.codeplex.com/ 代码段示例: HtmlDocument doc = new HtmlD ...

  9. 【软件工程Ⅱ】作业四 |个人项目-小学四则运算 “软件”之初版(C语言)

    本次作业的要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2186 本次作业代码的github地址:https://gith ...

  10. 小学四则运算结对项目报告(GUI)

    小学四则运算结对项目报告(GUI) 一.Coding.Net项目地址: https://git.coding.net/wsshr/Calculation.git 二.PSP表格(完成前): PSP 任 ...

随机推荐

  1. 对LVDS的浅显理解

    文章参考百度文库:LVDS标准及介绍 LVDS与VB1的对比:LVDS与VB1详细介绍 1.LVDS简介 LVDS( Low Voltage Differential Signaling)是一种低摆幅 ...

  2. vue中v-if控制的可编辑div(contenteditable='true')无法绑定@input事件

    <div class="content-container" ref="contentContainer"> <div v-if=" ...

  3. mysql8 更改root密码(windows)

    1.停止服务 net stop mysql; 2.控制台输入 mysqld --console --shared-memory --skip-grant-tables 3.重新打开一个窗口,进入bin ...

  4. 三步建立自己域名的主页,Github Pages功能简明手册

    [task]把自己的页面上传到git上,用github pages功能托管网页. 准备工作: 1.自己的网页文件 2.有个自己的git账号 3.下载安装git.下载地址https://git-scm. ...

  5. HDLbits——Exams/2014 q4b

    题目要求 使用verilog描述如图所示得移位寄存器: Write a top-level Verilog module (named top_module) for the shift regist ...

  6. mfcc vs fbank

    There is some debate in the community regarding the use of the DCT, instead of directly using the lo ...

  7. 【python学习】数据结构第一节

    1.访问元组或列表中的值      (注:元素是从0开始从左往有编号的,或者从右向左编号[-1开始]) 列表 x1 = [1,2,3,4] 元组 x2 =(1,2,3,4) print(x2[0]) ...

  8. varchar(1)占用几个字节

    在version4之前,MySQL中varchar长度是按字节:而version5之后,按字符.如varchar(6),在version4,表示占用6个字节,而在version5中,表示占用6个字符. ...

  9. uniapp使用rich-text内容过长在真机无法滚动

    解决方案:在rich-text标签上加scroll-view解决 <scroll-view scroll-y="true" style="height: 745rp ...

  10. docker (mysql 8.+ )主从同步

    1.环境centos7.5  docker 2.下载docker 版本的mysql 启动容器 docker run --name mysql_master -p 3306:3306 -e MYSQL_ ...