小学生数学加减乘除四则运算测试系统

合集下载

小学四则运算(加减乘除)练习题400题(练习可A4打印)

小学四则运算(加减乘除)练习题400题(练习可A4打印)

日期:姓名:错题数:得分:

2+4=9+6=3+7=9+5=5+1=4+6=6+2=2+3=8+6=8+4=6+6=1+3=3+7=3+9=6+4=8+6=5+6=6+3=7+6=3+1=5+9=1+2=1+5=7+8=9+3=2+5=1+5=7+9=7+6=1+4=1+7=5+3=1+7=5+6=8+4=1+4=6+2=3+1=3+1=9+4=8+1=8+1=7+2=9+6=1+8=6+1=6+2=6+2=7+6=8+7=2+6=3+8=6+8=5+8=5+1=8+4=6+8=2+2=3+6=4+6=8+6=3+9=7+1=8+7=2+8=7+5=9+2=8+1=7+3=9+2=4+7=2+7=8+6=5+1=8+9=7+5=5+8=8+5=1+9=1+3=3+3=1+6=2+8=4+4=8+1=5+8=8+6=1+9=7+8=9+9=1+7=2+1=5+9=2+3=6+3=1+1=2+6=8+7=1+5=6+7=

日期:姓名:错题数:得分:

12-8=9-5=8-6=16-8=4-3=7-3=14-8=11-6=9-8=9-3=7-6=10-2=7-3=8-5=13-5=7-4=13-7=6-3=10-2=18-9=13-7=5-4=9-2=6-5=9-3=7-6=11-5=12-9=5-3=12-5=5-3=10-3=14-7=16-8=12-5=6-4=13-4=11-4=14-9=16-7=10-7=12-3=10-3=11-6=12-4=11-2=12-9=15-6=12-6=9-6=9-6=12-5=11-7=8-4=16-7=14-5=11-6=4-2=8-5=15-9=10-2=10-2=11-4=8-7=4-3=15-6=6-3=3-2=6-5=15-7=16-7=18-9=6-5=9-8=11-7=7-3=11-7=12-3=12-8=11-3=16-7=8-2=7-4=15-6=9-4=16-9=8-3=10-7=7-4=7-3=5-2=13-5=11-7=13-7=12-4=6-5=6-3=9-8=9-6=9-2=

四年级数学运算律计算题

四年级数学运算律计算题

四年级数学运算律计算题

加减乘除四则运算

①360÷(70-4×16)②158-〔(27+54)÷9〕②96÷12+4×2

④96÷(12+4)×2⑤96÷〔(12+4)×2〕⑥450+390÷130-123 加法运算定律

①124+231+329 ②57+87+43 ③73+(124+127)

④68+127+73+12 ⑤9999+999+99+9 ⑥(569+268)+(232+131) 乘法运算定律

①114×20×50②125×78×8③250×(86×4)

④24×(11×50)⑤125×40×60×8⑥125×30×8×10

⑦67×9+33×9⑧101×57⑨37×62+37×39-37

⑩2×56+6×28

除法性质及减法性质(连除、连减)

①383-34-121-45 ②341-141-68-132 ③210÷7÷3

④480÷40÷6⑤1642-(258+642) ⑥2288-(148+288) ⑦548-175-248 ⑧840-128-272

linux加减乘除混合运算

linux加减乘除混合运算

linux加减乘除混合运算

Linux作为一种免费且开放的操作系统,已经在很多不同领域被广泛使用,并受到众多开发者的欢迎。由于Linux的灵活和可靠性,它在数值计算和科学计算领域中也得到了认可和应用。本文旨在介绍Linux在数值计算中加减乘除混合运算的相关知识,使读者能够更全面的理解和使用Linux操作系统。

首先,要了解Linux加减乘除混合运算,必须先了解数值计算术语。数值计算术语主要指四则运算,即加、减、乘和除运算,每一个数值计算术语对应一种特定的运算符号,分别是 +,-,* /。

Linux系统提供了一系列支持加、减、乘和除混合运算的代码库。其中最重要的是GNU Multiple Precision Arithmetic Library(GMP),它提供了C、C++和Perl等多种语言,支持多精度浮点数的加减乘除运算,适用于各种场景。另外,GNU Scientific Library(GSL)提供了对C和C++等多种语言支持,支持多种数值计算方法和复杂的混合运算,包括加减乘除等。

此外,Linux中的BC(Binary Calculator)工具支持加减乘除混合运算。BC是一款Linux上的数字计算器和脚本编辑器,可以用来计算运算表达式中任意数量的数值,并且允许用户使用命令行界面进行操作,支持多种数据类型(小数、整数等)。

为了充分利用Linux加减乘除混合运算功能,开发者应该熟练掌握GNU Multiple Precision Arithmetic Library(GMP)、GNU Scientific Library(GSL)和BC(Binary Calculator)等三种加

小数的四则运算 小学数学 测试卷

小数的四则运算 小学数学 测试卷

一、选择题

1. 下面算式中,得数大于27.5的是()。

A.27.5÷1.1 B.27.5÷1 C.27.5÷0.25

2. 比

3.92多0.4的数是( ).

A.4.32 B.3.96 C.7.92

3. 下面()的积比第一个因数大。

A.2.7×0.98 B.4.02×1.1 C.0.54×0.4

4. 下列算式中,乘积与7.9832×6.4617最接近的是()。

A.7×6 B.8×6 C.8×7 D.7×7

5. 当a是大于0的数时,下面各式的计算结果最大的是()。

A.B.C.

二、口算和估算

6. 直接写出得数。

5×0.5÷5×0.5=

7.78+2.2=73.17÷9.12≈ 0.3752= 6.3∶()=0.9

三、填空题

7. 一桶油最多装油,要装油至少需要( )个这样的油桶。

8. 40.12×2.6的积有( )位小数,如果40.12变成4012要使积不变,2.6应变为( ).

9. 在括号里填上“>”“<”或“=”。

5.6×0.95( )5.6 11×0.8( )11

1÷0.9( )1 2÷3( )0.67

10. 计算

32.4×1.8÷4.5=________

11. 在括号里填上合适的数字。

3( )2×3=( )9( ) 2×( )=486

四、解答题

12. 某市出租车收费标准如下表。小王从家到单位乘出租一共花了24.4元,他家到单位大约是多少千米?

里程收费

3千米以内(含3千米)10.00元

3千米以上,每增加1千米 2.00元

13. 苹果2.5千克共8元,芒果3.6千克共17.28元,水蜜桃5千克22元.你知道哪种水果最贵?

小学生四则运算测试系统设计说明书

小学生四则运算测试系统设计说明书
- 13 -
小学生四则运算测试系统 V2.1
- 14 -
图 4.3.6 提交答案
- 14 -
小学生四则运算测试系统 V2.1
- 15 -
图 4.3.7 个人成绩折线图
图 4.3.8 个人信息修改
- 15 -
小学生四则运算测试系统 V2.1
- 16 -
图 4.3.9 个人答题信息统计
图 4.3.10 考试试题下载
考试
查 看 成 排行榜 个人信息
登 注 分 一 二三 查 查 下查 修 成
录 册 类 级 级级 看 看 载看 改 绩
功 功 练 难 难难 近 试 试排 个 信
能 能 习 度 度度 期 题 题行 人 息
成 记 记榜 成 统
绩录录
绩计

线

图 3.1 系统结构图
3.2 模块描述
基本模块
目的意义
登 录 / 注 册 用户可以通过用户名和密码登录网站,还没有注册的用户可以点击“点
- 10 -
图 4.3.2 账号注册界面
- 10 -
小学生四则运算测试系统 V2.1
- 11 -
图 4.4.3 系统主页
- 11 -
小学生四则运算测试系统 V2.1
- 12 -
图 4.3.4 简单加法练习
图 4.3.5 考试
- 12 -

小学加减乘除口算练习生成工具

小学加减乘除口算练习生成工具

参数配置 最小 最大 备注 题目分配 题数 加法1:A+B 参数A 0 10 加法1:A+B 30 加法1:A+B 参数B 0 10 加法2:A+B 20 加法2:A+B 参数A 0 10 减法1:A-B 30 加法2:A+B 参数B 0 10 减法2:A-B 20 减法1:A-B 参数A 0 20 乘法1:A×B 0 减法1:A-B 参数B 0 10 乘法2:A×B 0 减法2:A-B 参数A 0 2ቤተ መጻሕፍቲ ባይዱ 除法(无余数) 0 减法2:A-B 参数B 0 10 除法(有余数) 0 乘法1:A×B 参数A 0 10 试卷试题总数 100 乘法1:A×B 参数B 0 10 按F9可以刷新题目 乘法2:A×B 参数A 0 10 请确保试题总数为100 乘法2:A×B 参数B 0 10 除法(无余数)参数A 1 10 此参数为除数最大最小值设定,不能为0 除法(无余数)参数B 0 10 此参数为商最大最小值设定 除法(有余数)参数A 1 10 此参数为除数最大最小值设定,不能为0 除法(有余数)参数B 0 10 此参数为商最大最小值设定

四年级数学运算律计算题

四年级数学运算律计算题

四年级数学运算律计算题

加减乘除四则运算

①360÷(70-4×16)②158-〔(27+54)÷9〕②96÷12+4×2

④96÷(12+4)×2⑤96÷〔(12+4)×2〕⑥450+390÷130-123 加法运算定律

①124+231+329 ②57+87+43 ③73+(124+127)

④68+127+73+12 ⑤9999+999+99+9 ⑥(569+268)+(232+131) 乘法运算定律

①114×20×50②125×78×8③250×(86×4)

④24×(11×50)⑤125×40×60×8⑥125×30×8×10

⑦67×9+33×9⑧101×57⑨37×62+37×39-37

⑩2×56+6×28

除法性质及减法性质(连除、连减)

①383-34-121-45 ②341-141-68-132 ③210÷7÷3

④480÷40÷6⑤1642-(258+642) ⑥2288-(148+288) ⑦548-175-248 ⑧840-128-272

C语言小学生四则运算考试系统课程设计

C语言小学生四则运算考试系统课程设计

C语言小学生四则运算考试系统课程设计代码部分:

#include"stdio.h"

#include "windows.h"

#include<time.h>

#include<stdlib.h>

#include<conio.h>

#define N 3

struct stu

{

int num;

char name[12];

int score;

}em[N],max;

void input();

void menu_admin();

void search();

void search_num();

void search_name();

void cal_score();

void sort();

void del();

int *p;

void mune_admin(){

int k=0;

printf("请根据提示选择:\n");

printf("1.查询系统\n");

printf("2.删除系统\n");

printf("3.排序\n");

scanf("%d",&k);

switch(k){

case 1:search();break;

case 2:del();break;

case 3:sort();break;

}

}

void input(){

int i;

printf("请输入你的信息:\n");

for(i=0;i<N;i++){

printf("请输入学生的学号:\n");

scanf("%d",&em[i].num);

printf("请输入学生姓名:\n");

scanf("%s",&em[i].name);

小学生四则运算测试

小学生四则运算测试

面向对象程序设计大作业

------小学生四则运算测验

1.系统简介

该系统开发平台为Windows 7,程序设计语言采用Visual C++6.0,程序运行平台为Windows XP,程序通过调试运行,初步实现了设计目标。

(1)利用C++语言实现简易小学生四则运算测试系统的程序设计;

(2)利用结构图和自行定义的函数进行相关的功能设计;

(3)测试系统能随机产生数据进行测试.

2.基本要求

根据C++语言,将具体实现某个功能的函数设成小学生四则运算测试系统的公有函数成员,将数据利用自行定义的函数进行计算.

随机选择两个整数进行加减乘除运算,给出算式要求学生作答。

基本要求如下:

(1)电脑随机出20道题,每题5分,程序结束时显示学生得分;

(2)允许随机给出的数在10以内。

(3)每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束则输出正确答案,该题不计入学生得分

(4)对于每道题目,学生第一次输入正确答案得5分,第二次

输入正确答案得4分,第三次输入正确答案得3分,否则不得

分;

(5)20道题全部答完以后,电脑给出学生总分,并将学生得分

为0的题目以及相应的正确答案再次输出。

3. 总体设计

4. 详细设计

表格 1

5.关键技术说明

选择判断结构、循环结构、类、继承与派生、构造函数的应用。

6.源代码

#include

#include

#include //标准库头文件using namespace std;

#define N 10 //十以内的算数题目#define NUMBER 20 //题目个数

小学生数学系统解读

小学生数学系统解读

目录

一、系统开发的背景 (2)

二、系统分析与设计 (3)

(一)系统功能要求 (3)

(二) 系统模块结构设计 (3)

三、系统的设计与实现 (5)

(一) 四则运算界面浏览:printf()函数。 (5)

(二)运算符和数值:sj( )函数。 (6)

(三)随机函数srand((unsigned)time(NULL)) (8)

(四)小学生成绩和等级。 (9)

四、系统测试 (11)

(一)测试四则运算界面。 (11)

(二)运算符和数值测试。 (12)

(三)测试随机出10道题 (12)

(四)测试小学生回答和分数 (12)

(五)测试小学生回答的等级 (13)

五、总结 (13)

六、附件(代码、部分图表) (13)

小学生数学CAI系统

一、系统开发的背景

为了提高小学生的数学运算,让他们在数学学习过程中能够更好的学习四则运算,不光要学习一位数加减乘除一位数,还要学习二位数甚至三位数的练习,通过计算机来随机抽题,有一位数与一位数的四则运算,还有多位数与多位数的运算,以及多位数与一位数的运算,最后通过计算机输出成绩,再根据成绩输出小学生的等级,通过成绩可以了解小学生四则运算的水平.因此,我编写了小学生数学CAI系统.

在远古时代,我们的祖先已经可以利用一些其他的辅助东来进行计数了,他们可以用树枝和木棍来进行计数,再往以后,祖先发明了算筹,算盘来进行计数.但这个方法显得有些笨重.后来又发明了计算器,计算器可以计算以前没有计算的算式,也为人类提供了很好的帮助,但是这种计算的方法显得有的局限,一些比较大的数据没法计算,最后,人们又发明了电脑,电脑的发明又使人类的计数水平提高了一个档次,电脑的出现让我们不再在纸上面计算了,一些大型的数据处理交给计算机来处理,就连日常生活中的处理数据也要用到电脑或计算器,电脑或计算器以经离不开我们的生活,就连买个菜也要用到计算器来计算卖菜的钱,大量的依赖电脑或计算器已经让我们记不起用笔来计算.所以,我编写的小学生四则运算系统还是有很大的作用,它可以帮助小学生来提高数学成绩,该系统就像闯关的游戏一样,当小学生每回答对一题,系统便会给出相应的表扬语句,这可以激发小学生的兴趣,可以让小学生容易接受它,而不是有抵触心理,该题目给小学生三次机会,当

E cel随机生成小学数学四则运算试题

E cel随机生成小学数学四则运算试题

6÷2=5×2=6×5=4×7=9÷9=5×5=9÷3=48÷6=2×1=6×4=3×8=2×8=3×5=14÷2=42÷6=3×1=24÷3=6÷2=7×5=24÷4=20÷4=5×5=9×4=36÷9=9÷3=1×7=9÷3=14÷7=8×5=8×4=3×9=3×7=5÷1=36÷6=36÷4=8÷2=9×2=9×5=27÷3=6×5=9×9=9×1=4×4=40÷5=20÷5=4×2=6×9=45÷5=8×4=5×9=6×7=6÷1=36÷9=3×6=4×3=63÷7=35÷5=5×4=3×1=8÷2=6×8=16÷8=2×6=5×9=4×2=5×9=3÷3=56÷7=3×8=18÷3=36÷4=4×9=12÷2=6×3=6×4=6×1=30÷5=2×3=8×5=3×8=16÷8=42÷7=2×7=45÷9=20÷5=48÷8=4×2=4×9=2×4=9×3=6×6=8÷2=3×2=63÷7=48÷6=4×2=6×3=42÷6=8×6=7×1=8×6=18÷2=9×3=18÷3=14÷2=2÷2=3×5=9÷3=9×6=18÷6=2×9=30÷6=7×9=27÷3=8×3=3×3=7÷7=56÷7=3×3=5÷5=12÷6=7×9=5×1=4÷4=5×7=2×8=8×5=16÷8=9×9=2÷1=8×8=5×3=4×4=9÷3=2÷2=9×3=2÷2=5÷1=20÷4=1×8=6×8=7×7=4×7=2×3=9×6=1×1=6×2=45÷5=

9×2=12÷3=9×7=3×1=7×3=9×9=4×2=7×5=4×1=6×8=5×6=36÷4=4÷4=81÷9=63÷9=35÷7=8×7=7×3=14÷2=1×1=7×3=2÷2=7×5=5×2=42÷7=1×1=5×7=4÷4=6×3=18÷6=2÷1=8÷4=6×4=56÷7=25÷5=6÷6=7×8=5×5=4×9=7×3=4÷1=42÷6=4÷4=8×9=5×7=42÷7=7÷1=4÷4=4×3=28÷7=72÷9=14÷7=9×2=5÷5=30÷5=6×6=15÷5=3×9=2÷1=3÷1=1×3=6×9=18÷9=8÷2=5×4=7×7=14÷2=6×4=8×9=7÷1=5×7=5×1=4×5=4×4=36÷6=3÷3=30÷5=5×4=72÷8=9÷3=9×1=4×8=36÷9=28÷4=15÷5=35÷5=4×7=32÷4=28÷7=5×7=1÷1=9×2=

小学综合算式加减法与乘除法练习题混合运用四则运算进行计算

小学综合算式加减法与乘除法练习题混合运用四则运算进行计算

小学综合算式加减法与乘除法练习题混合运

用四则运算进行计算

在小学数学教学中,综合算式是培养学生计算能力和逻辑思维的重

要内容之一。综合算式包含了加法、减法、乘法和除法等四则运算,

通过运用不同运算符号和数字的组合,帮助学生练习混合运算的能力。下面将为大家提供一系列小学综合算式加减法与乘除法练习题,以便

加深对四则运算的理解和掌握。

练习题一:

1. 82 + 36 - 47 = ?

2. 29 - 13 + 48 = ?

3. 17 × 5 - 8 = ?

4. 63 ÷ 9 × 4 = ?

5. 38 + 52 × 2 = ?

6. 72 ÷ 6 - 3 = ?

7. 15 + 24 - 38 = ?

8. 41 - 15 + 5 = ?

9. 24 × 9 - 7 = ?

10. 56 ÷ 7 × 2 = ?

解答:

1. 82 + 36 - 47 = 71

2. 29 - 13 + 48 = 64

3. 17 × 5 - 8 = 77

4. 63 ÷ 9 × 4 = 28

5. 38 + 52 × 2 = 142

6. 72 ÷ 6 - 3 = 9

7. 15 + 24 - 38 = 1

8. 41 - 15 + 5 = 31

9. 24 × 9 - 7 = 209

10. 56 ÷ 7 × 2 = 16练习题二:

1. 75 - 23 + 14 = ?

2. 32 + 12 - 5 = ?

3. 15 × 6 + 9 = ?

4. 48 ÷ 6 - 3 = ?

5. 23 + 48 × 3 = ?

6. 54 ÷ 9 + 7 = ?

7. 32 - 15 + 24 = ?

C语言课程设计-小学生算术四则运算测试系统

C语言课程设计-小学生算术四则运算测试系统

C语言课程设计-小学生算术四则运算测试系统

#ifndef H_STUDENT_HH

#define H_STUDENT_HH

#include "stdio.h"

#include "string.h"

#include "malloc.h"

#define LEN sizeof(struct message_student) /*一个结构体数组元素的长度*/ #define numsubs 5 /*学科数目*/

typedef struct message_student /*结构体定义*/

{

char number[6];

char name[20];

char sex[4];

float subject[numsubs];

float score;

float average;

int index;

}student;

extern int numstus; /*学生数目*/

extern student *pointer; /*指向结构体数组*/

extern int lens;

int menu_select(); /*函数声明*/

int openfile(student stu[]);

int findrecord(student stud[]);

int writetotext(student stud[]);

void welcome();

void display1();

void showtable();

void sort(student stu[]);

void deleterecord(student stu[],int i); void addrecord(student stud[]);

六年级小学生数学算式专项练习题综合运用四则运算解决多步运算问题

六年级小学生数学算式专项练习题综合运用四则运算解决多步运算问题

六年级小学生数学算式专项练习题综合运用四则运算解决多步运算问题

1. 在一个农场里,有25只鸡和17只鸭子。如果用四条饲料链喂养它们,每只鸡需要消耗3颗饲料粒,每只鸭子需要消耗2颗饲料粒。那么这些动物一共需要多少颗饲料粒?

首先,计算出25只鸡所需的饲料粒数:25只鸡 * 3颗饲料粒/只 = 75颗饲料粒。

然后,计算出17只鸭子所需的饲料粒数:17只鸭子 * 2颗饲料粒/只 = 34颗饲料粒。

最后,将两部分的饲料粒数相加得到总的饲料粒数:75颗饲料粒 + 34颗饲料粒 = 109颗饲料粒。

所以,这些动物一共需要109颗饲料粒。

2. 班级里有30个学生,其中有16个男生,其他的都是女生。男生和女生的比例是多少?

首先,计算出女生的数量:30个学生 - 16个男生 = 14个女生。

然后,计算男生和女生数量的比值:16个男生 / 14个女生 = 8/7。

所以,男生和女生的比例是8比7。

3. 一辆长途客车从A地到B地,全程共有360公里。客车平均每小时行驶60公里,请问这辆客车从A地到B地需要多长时间?

将全程距离除以每小时行驶的距离可以得到所需的时间:360公里 / 60公里/小时 = 6小时。

所以,这辆客车从A地到B地需要6小时。

4. 一个矩形花坛的长是5米,宽是3米,花坛的四周都铺上了一圈

围墙砖,围墙砖的长度和宽度分别是10厘米和5厘米。需要多少块围

墙砖才能够完全围住花坛?

首先,计算出花坛四周的围墙砖的总长度:5米 + 3米 + 5米 + 3米

= 16米。

然后,将围墙砖的单位转换成厘米:16米 * 100厘米/米 = 1600厘米。

小数加减乘除及四册混合运算和应用检测

小数加减乘除及四册混合运算和应用检测

小数加减乘除及四册混合运算和应用检测

小数加、减、乘、除的计算和应用检测

姓名:学号:

一、计算部分。

1、根据54×96=5184直接写出下面各题的得数得数。

5.4×9.6=()540×0.96=()54×0.96=()

0.54×0.96=( ) 5.184÷96=()5184÷5.4=( )

5184÷9.6=( ) 51.84÷54=( ) 518.4÷9.6=( )

2、口算。

1.9×4= 4.3+5.64= 1.02-0.98= 0.98+1.02= 8.4÷7=

36÷0.9= 120×0.02= 0.1÷10= 0.8×20= 2.1÷2.1= 0.125×8= 0.25×4= 0.5×0.5= 2+3.8= 4-3.05=

0.25÷1= 0.7×3.9= 10.8÷9= 13.96+7.04= 9.1+1.9=

0÷123.5+123.5= 0.25×4×327.6= 789.3-789.3×0=

3、将合适的数填入()里、适合的运算符号填在○里,并写出运算定律。

(1)39+85=85 ○( ) 运算定律:___________

(2)3.9+5.4+4.6=3.9 ○( ○) 运算定律:___________

(3)2.5×(100+2)=( )○( )○( )○( )运算定律:___________

(4)12.5×8= ( )○12.5 运算定律:___________

(5)17.9×2.5×4=17.9 ○( ○ )运算定律:___________

(6)12×99+12=(○)○12 运算定律:___________

四则运算需求分析

四则运算需求分析

四则运算需求分析

1.四则运算是指加法、减法、乘法和除法四种运算。四则运算是⼩学数学的重要内容,也是学习其它各有关知识的基础。

2.编写⼩学四则运算系统,要求完成两位数以内(包括两位数)的加,减,乘,除四则运算。下述所有四则运算表达式均需随机⽣成。使⽤参数能够控制⽣成题⽬的数量。

(例如:12+6+7=?3*4*6=?)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

设计人:湖南第一师范学院数理系10信科一班 马宗立 学号:10402050116
完成时间:2012年1月22日
#include
#include
#include
#include
#include
#include
int fzhe[4]={5,4,4,4}; //fzhe[0]、fzhe[1]、fzhe[2]、fzhe[3]分别表示加、减、乘、除四种运算法则的出题数
int x, y; //x,y为各个出题函数所需的十进制数据

//产生符合要求的随机数的函数
suiji(int k,int i)
{time_t t;
srand((unsigned)time(&t));
int j;
int m[3][3]={{11,31,300},{11,31,300},{11,100,200}};
int n[3][3]={{0,69,1000},{0,69,1000},{2,21,101}};
j=i%3;
int a,b;
if(k==3)
{int e[3][2]={{82,2},{10001,500},{26000,10000}};
int f[3][2]={{82,2},{100,20},{199,101}};
do

{a=abs(rand())%e[j][0]+e[j][1];
b=abs(rand())%f[j][0]+f[j][1];
}while(a%b!=0||a==b);}
else
{a=abs(rand())%m[k][j]+n[k][j];
b=abs(rand())%m[k][j]+n[k][j];}
x=a;y=b;
}

//防止输入字符时,程序出错
srpduan()
{int i,j,k[20]={0},shuzi=0,length;
char str[20];
do
{do
{gets(str); //先将输入的答案看成字符串
length=strlen(str);
if(length>20)
printf("输入有误,请重新输入。\n");
}while(length>20);
for(i=0;i{
k[i]=isdigit(str[i]); //判断输入的答案中是否存在字符
j=i+1;
if(k[i]==0){j=0;break;}
}
if(j==length&&j>5){shuzi=-1;break;} //由于答案不可能是5位数和负数,当答案为5位数时直接使shuzi=-1
for(i=0;i{
if(k[i]!=0)j=1;
else {j=0;break;}}
if(j==0)printf("输入有误,请重新输入。\n");
if(j==1)
{
int a[5]={0};
for(i=0;i{
a[i]=((int)(str[i])-48)*pow(10,length-i-1); //输入的答案中不存在字符时,将答案重新转化为十进制数
shuzi=shuzi+a[i];}}
}while(j==0||length==0);
return (shuzi);
}

//加法出题函数
jiafa(int k,int i)
{int p,c;
suiji(k,i);
printf("%d+%d=",x,y);
c=srpduan();
printf("正确答案为:%d\t",x+y);
if(c==x+y){printf("答案正确\n");p=1;}
else{printf("答案错误\n");p=0;}
return (p);
}

//减法出题函数
jianfa(int k,int i)
{int temp, p,c;
suiji(k,i);
if(xprintf("%d-%d=",x,y);
c=srpduan();
printf("正确答案为:%d\t",x-y);
if(c==x-y){printf("答案正确\n");p=1;}
else{printf("答案错误\n");p=0;}
return (p);
}

//乘法出题函数
chengfa(int k,int i)
{int p,c;
suiji(k,i);
printf("%d*%d=",x,y);
c=srpduan();
printf("正确答案为:%d\t",x*y);
if(c==x*y){printf("答案正确\n");p=1;}
else{printf("答案错误\n");p=0;}
return (p);
}

//除法出题函数
chufa(int k,int i)
{int p,c;
suiji(k,i);
printf("%d/%d=",x,y);
c=srpduan();
printf("正确答案为:%d\t",x/y);
if(c==x/y){printf("答案

正确\n");p=1;}
else{printf("答案错误\n");p=0;}
return (p);
}


int main()
{int i,j,k,p,count[4]={0};
float score[5]={0};
for(k=0;k<4;k++)
{
{if(k==0)printf("\n一、加法测试:\n");
else if(k==1)printf("\n二、减法测试:\n");
else if(k==2)printf("\n三、乘法测试:\n");
else printf("\n四、除法测试:\n");
}
for(i=0;i{
{ printf("%d. ",i+1);}
switch(k)
{case 0: {p=jiafa(k,i);count[0]=count[0]+p; }break;
case 1: {p=jianfa(k,i);count[1]=count[1]+p; }break;
case 2: {p=chengfa(k,i);count[2]=count[2]+p;}break;
case 3: {p=chufa(k,i);count[3]=count[3]+p; }break;
default: break;}
}}
//根据学生水平出题
printf("\n五、附加题:\n");
for(k=0;k<4;k++)
{score[k]=(float)(count[k])/fzhe[k]*100;
if(score[k]<60)i=0;
else if(score[k]>=60&&score[k]<80)i=1;
else i=2;
switch(k)
{case 0: {p=jiafa(k,i);count[0]=count[0]+p; }break;
case 1: {p=jianfa(k,i);count[1]=count[1]+p; }break;
case 2: {p=chengfa(k,i);count[2]=count[2]+p;}break;
case 3: {p=chufa(k,i);count[3]=count[3]+p; }break;
default: break;}
}
//计算各项评分
for(k=0;k<4;k++)
{score[k]=(float)(count[k])/(fzhe[k]+1)*100;

printf("您的");
if(k==0)printf("加");
else if(k==1)printf("减");
else if(k==2)printf("乘");
else printf("除");
printf("法测试评分为:%3.1f\n",score[k]);
score[4]=(score[4]+score[k]);}
printf("您的综合评分为:%3.1f\n",score[4]/4);

return 0;
}

相关文档
最新文档