2021年湖北省孝感市全国计算机等级考试数据库技术预测试题(含答案)

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

2021年湖北省孝感市全国计算机等级考试数据库技术预测试题(含答案) 学校:________ 班级:________ 姓名:________ 考号:________
一、1.选择题(10题)
1. 防火墙可设置于
A.两个局域网之间
B.两个广域网之间
C.Internet和Intranet之间
D.前三者均可
2. 下列关于E-R模型向关系模型转换的叙述中,不正确的是( )。

A.一个1: 1联系可以转换为一个独立的关系模式,也可以与联系的任意一端实体所对应的关系模式合并
B.一个1: n联系可以转换为一个独立的关系模式,也可以与联系的n端实体所对应的关系模式合并
C.一个m: n联系可以转换为一个独立的关系模式,也可以与联系的任意一端实体所对应的关系模式合并
D.3个或3个以上的实体间的多元联系转换为一个关系模式
3. 下列的故障中,可能会造成事务执行失败的是
A.系统故障
B.磁盘故障
C.逻辑错误
D.硬件故障
4. SQL的数据定义功能包括
A.定义表
B.定义视图
C.定义索引
D.以上都包括
5. 启动外围设备前必须组织好通道程序,下列哪一项不是通道程序的控制部件?
W
B.CSW
C.CAW
D.PSW
6. 以下关于顺序存储结构的叙述中哪一条是正确的?
A.存储密度小
B.逻辑上相邻的结点物理上不必邻接
C.可以通过计算直接确定第i个结点的存储地址
D.播入、删除运算操作方便
7.下列问题是基于以下的叙述:关系模式R(B,C,M,T,A,C),根据语义有如下函数依赖集:F={B→C,(M,T)→B,(M,C)→T, (M,A)→T,(A,B)→C}。

关系模式R的码是
A.(M,T)
B.(M,C)
C.(M,A)
D.(A,B)
8. SQL语言的REVOKE语句实现下列哪一种数据控制功能
A.可靠性控制
B.并发性控制
C.安全性控制
D.完整性控制
9. 数据库的逻辑结构设计任务就是把( )转换为与所选用的DBMS支持的数据模型相符合的过程。

A.逻辑结构
B.存储结构
C.概念结构
D.物理结构
10. 下述______是并发控制的主要方法。

A.授权
B.封锁
C.日志
D.索引
二、填空题(10题)
11.当进程完成I/O后,进程由等待状态变为【】状态
12. 严格两阶段锁协议要求对______更新的封锁必须保持到事务的终点。

13. 虚拟存储管理系统中,在进行地址映射时,若所需页面不在内存,则产生【】中断。

14. Oracle数据库系统中快速生成报表的工具是Oracle______。

15. DBMS对数据库进行封锁时采用的两种基本锁类型是排它锁(X)和______。

16.在X.800中将安全攻击分为两类:被动攻击和___________。

17.JPEG是一种___________图像压缩编码的国际标准。

18. SQL SERVER 2000与COMMERCE SERVER 2000集成,支持完整的点击流和______数据分析。

19.无级联调度应满足:对于每对事务T1和T2,如果T2读取了由T1所写的数据项,则T1必须在T2这一读取前【】
20. 在计算机系统中,一个以科学的方法组织、存储数据,并可高效地获取、维护数据的软件系统称为______。

三、单选题(10题)
21.二维数组M[i,j]的元素是4个字符(每个字符占一个存储单元)组成的串,行下标i的范围从0到4,列下标j的范围从0到5。

M按行存储时元素M[3,5]的起始地址与M按列存储时元素( )的起始地址相同。

A.M[2,4]
B.M[3,4]
C.M[3,5]
D.M[4,4]
22.在定义一个关系结构时,应该说明( )
A.字段、数据项及数据项的值
B.属性名、属性数据类型及位数
C.关系名、关系类型及作用
D.记录名、记录类型及内容
23. 下列哪一条不属于数据库设计的任务?
A.进行需求分析
B.设计数据库管理系统
C.设计数据库逻辑结构
D.设计数据库物理结构
24.把电路中的所有元件如晶体管、电阻、二极管等都集成在一个芯片上
的元件称为( )
A.Transistor
B.Integrated Circuit
puter
D.Vacumm Tube
25.在SQL Server 2008的系统数据库中,为调度信息和作业历史提供存储区域的是
A.Master
B.Model
C.Pubs
D.Msdb
26. 栈和队列是两种重要的线性结构,对它们的描述错误的是( )。

A.栈顶是允许操作的一端,栈底是不允许操作的一端
B.表达式求值一般采用栈来实现
C.队列是一种先进先出的线性表,允许对队列两端进行操作
D.队列可以用链式存储结构
27.如果两个实体之间的联系是1∶M,则实现1∶M联系的方法是( )
A.将两个实体转换成一个关系
B.将两个实体转换的关系中,分别加入另一个关系的主码
C.将"1"端实体转换的关系的主码,放入"M"端实体转换的关系中
D.将"M"端实体转换的关系的主码,放入"1"端实体转换的关系中
28.设数组data[0…m]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执行出队操作的语句为( )
A.front:=front 1
B.front:=(front 1) mod m
C.rear:=(rear 1) mod m
D.front:=(front 1) mod (m 1)
29.关于反规范化说法不正确的是:
A.完全规范化与部分规范化数据库之间处理性能会有没多大差别
B.反规范化是将规范化关系转换为非规范化的关系的过程。

C.反规范化方法:增加派生冗余列、增加冗余列、重新组表、分割表和新增汇总表等方法。

都会破坏数据完整性。

D.采用反规范化技术从实际出发均衡利弊。

30.有两个实体集,并且它们之间存在着一个M∶N联系,根据概念E R 模型转换成关系数据库的规则,这个E R结构转换成表的个数为( ) A.1 B.2 C.3 D.4
四、C语言程序设计题(10题)
31. 函数ReadDat实现从文件in.dat中读取一篇英文文章,存入到无符号字符串数组XX中;请编制函数encryptChar,按给定的替代关系对数组XX中的所有字符进行替代,其替代值仍存入数组)xx的对应的位置上,最后调用函数wmeDat把结果xX输出到文件out.dat中。

替代关系:f(p)=p*11 mod256,mod为取余运算,P是数组xx中某一个字符的ASCII值,f(p)是计算后无符号的整型值(注意:中间变量定义成整型变量),如果计算后f(p)值小于等于32或f(p)对应的字符是小写字母,则该字符不变,否则用f(p)替代所对应的字符。

注意:部分源程序存放在test.c文件中,原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格,并也按此替代关系进行处理。

请勿改动住数main、读数据函数ReadDat和输出数据函数WriteDat的内容。

32. 已知数据文件in.dat中存有300个四位数,并已调用读函数readDat 把这些数存入数组a中,请编制一函数jsvalue,其功能是:求出所有这些四位数是素数的个数cnt,再求出所有满足此条件的四位数平均值pjzl,以及所有不满足此条件的四位数平均值pjz2。

最后main函数调用写函数writeDat把结果cnt,pjz1,pjz2输出到out.dat文件中。

33. 已知在in.dat中存有若干个(个数<200)四位数字的正整数,函数ReadDat读取这若干个正整数并存入数组XX中。

请编制函数CalValue,其功能要求:1.求出该文件中共有多少个正整数totNum;2.求出这些
正整数中的各位数字之和是奇数的数的个数totCnt,以及满足此条件的这些正整数的算术平均值totPjz。

最后maini函数调用函数WriteDat把所求的结果输出到0ut.dat文件中。

注意:部分源程序存放在test.C文件中。

请勿改动数据文件in.dat中的任何数据,主函数main、读函数ReadDat 和输出数据函数WriteDat的内容。

34. 函数readDat是从文件in.dat中读取20行数据存放到字符串数组XX中(每行字符串长度均小于80)。

请编制函数isSort,其函数的功能是:以行为单位对字符串按下面给定的条件进行排序,排序后的结果仍按行重新存入字符串数组XX中,最后调用函数writeDat把结果)XX输出到文件0ut.dat中。

条件:字符串从中间一分为二,左边部分按字符的ASCII值降序排序,
右边部分不作处理,排序后,左边部分与右边部分按例子所示进行交换。

如果原字符串长度为奇数,则最中间的字符不参加处理,字符仍放在原位置上。

35.
函数ReadDat实现从文件in.dat中读取一篇英文文章存入到字符串数组XX中,请编制函数ConvertCharD,其函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的上一个字母,如果是字母a,
则改写成字母z,其他字符保持不变。

把已处理的字符串仍按行重新存入字符串数组xx中。

最后main函数调用函数WriteDat把结果xx输出到文件out.dat中。

例:原文:Adb.Bcdza
abck.LLhj结果:Aca.Bbcyzzabj.LLgi原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。

注意:部分源程序存放在test.c文件中。

请勿改动主函数main、读函数ReadDat0和输出函数WriteDat的内容。

36. 将文件in.dat中的200个整数读至数组XX中。

请编制jsValue函数,要求:求出数组XX中的数值为奇数的个数cnt1和数值为偶数的个
数cnt2以及数组XX下标为奇数的元素值的算术平均值pj。

结果cnt1,cnt2,pj输出到out.dat中。

注意:部分源程序存在test.c 文件中。

请勿改动数据文件in.dat中的任何数据、主函数main、读函数read_dat和输出函数writeDat的内容。

37. 已知在文件in.dat中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量s1(整型),金额je(长整型)五部分组成。

其中:金额=单价*数量。

函数ReadDat读取这100个销售记录并存入结构数组sell中。

请编制函数SortDat,其功能要求:按产品代码从小到大进行排列,若产品代码相同,则按金额从小大进行排列,最终排列结果仍存入结构数组sell 中。

最后main函数调用函数WriteDat把结果输出到文件out.dat中。

提示:若中间变量为PRO temp,则可以直接使用结构赋值语句进行解题;产品代码比较请用函数strcmp进行解题。

例如:sell[i]=temp;
注意:部分源程序存放在test.c文件中。

请勿改动主函数main、读函数ReadDat和输出函数WriteDat的内容。

38. 在文件in.dat中已存有200个正整数,且每个数均在1 000至9999之间。

函数readDat是读取这200个数存放到数组aa中。

请编制函数jsSort,其函数的功能是:要求按每个数的后三位的大小进行降序排列,如果出现后三位相等的数值,则对这些数值按原始4位数据进行升序排列,将排序后的前10个数存入数组bb中。

最后调用函数writeDat把结果bb输出到文件out.dat中。

39. 函数ReadDat实现从文件in.dat中读取一篇英文文章存入到字符串数组XX中,请编制函数ConvertCharA,其函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的下一个字母,如果是字母z,则改写成字母a,大写字母和其他字符保持不变。

把已处理的字符串
仍按行重新存入字符串数组XX中。

最后main函数凋用函数WriteDat 把结果XX输出到文件0ut.dat中。

40. 在文件in.dat中存有若干个(个数<200)四位数字的正整数,函数ReadDat读取这若干个正整数并存入数组XX中。

请编制函数CalValue,其功能要求:1.求出该文件中共有多少个正整数totNum;2.求出这些正整数中的各位数字之和是偶数的数的个数totCnt,以及满足此条件的这些正整数的算术平均值totPjz。

最后main函数调用函数WriteDat把所求的结果输出到0ut.dat文件中。

注意:部分源程序存放在test.c文件中。

请勿改动数据文件in.dat中的任何数据,主函数main、读函数ReadDat 和输出函数WriteDat的内容。

五、设计与应用题(2题)
41.设有商品表(商品号,商品名,单价)和销售表(销售单据号,商品号,销售时间,销售数量,销售单价)。

其中,商品号代表一类商品,商品号、单价、销售数量和销售单价均为整型。

请编写查询某年某商品的销售总毛利的存储过程,毛利=销售数量x(销售单价一单价)。

要求商品号和年份为输入参数,总毛利用输出参数返回。

(10分)
42.设在采用SQLServer 2008数据库的图书馆应用系统中有三个基本表,表结构如下所示,请用SQL语句完成下列两个查询:BORROWER:借书证号姓名系名班级12011106蒋辉文计算机系12-112011107王丽计算机系12-112012113范园园信息系12-2LOANS:借书证号图书馆登记号借书日期1201 1106 T0010012012.01.021******* T0010262013.02.O6BOOKS:索书号书名作者图书登记号出版社价格TP311.1数据库系统李明T001001科学19.00TP311.2二级C语言王珊T001026人民32.00(1)检索至少借了5本书的同学的借书证号、姓名、系名和借书数量。

(5分)(2)检索借书和王丽同学所借图书中的任意一本相同的学生姓名、系名、书名和借书日期。

(5分)
六、单选题[1分](2题)
43.设有关系模式R(A,B,C,D.,其函数依赖集为F={A→D,B→D,C→D}。

如果将R分解为R1(A,B,C.和R2(C,D.,则该分解是()。

A.同时保持函数依赖和无损连接的分解
B.保持函数依赖但不保持无损连接的分解
C.保持无损连接但不保持函数依赖的分解
D.既不保持函数依赖也不保持无损连接的分解
44.设有m个的用户集合US={u1,…,um},现对他们的行为数据进行处理,使得每个用户ui对应一个n维向量Vi=[vi1,…,vin],用于表示
用户ui的特征。

设有函数sim(Vi,Vj)用于判定用户ui与用户uj之间的相似性。

若有算法A,能根据用户间的相似性,将US划分成K个子集合,并使属于同一子集合的客户间的相似性尽可能大,不属于同一子集合的客户间的相似性尽可能小。

则算法A属于一种()。

A.聚类算法
B.分类算法
C.关联分析算法
D.回归预测法
参考答案
1.D解析:防火墙设置在被保护网络和外部网络之间,通过监测、限制某些数据包,尽可能地对外部屏蔽网络内部的信息,以此来实现网络的安全保护,防止破坏性的侵入。

因此正确答案为选项D。

2.C解析:E-R模型向关系模型转换的规则是:①一个实体类型转换成一个关系模式,实体的属性就是关系的属性,实体的码就是关系的码。

②一个1:1联系的可以转换为一个独立的关系模式,也可以与联系的任意一端实体所对应的关系模式合并。

③一个1:n联系的可以转换为一个独立的关系模式,也可以与联系的n端实体所对应的关系模式合并。

④一个m:n联系转换为一个模式。

与该模式相连的各实体的码以及联系本身的属性均转换成关系的属性,而关系的码为各实体码的组合。

3.C解析:逻辑错误、系统错误可能会造成事务执行失败。

注意:系统故障、磁盘故障和硬件故障都不会导致事务执行失败,因此A),B),D)选项不正确,故C)选项正确。

掌握故障产生的原因,以及如何解除故障。

4.D解析:关系数据库系统支持三级模式结构,其模式、外模式和内模
式中的基本对象有表、视图和索引,因此,SQL语言的数据定义功能包括定义表、定义视图和定义索引。

5.D解析:通道的运算控制部件包括:通道地址字(CAW),记录下一条通道指令存放的地址;通道命令字(CCW),保存正在执行的通道指令;通道状态字(CSW),记录通道、控制器、设备的状态。

6.C解析:顺序存储方式主要用于线形的数据结构,它把逻辑上相邻的数据元素存储在物理上相邻的存储单元里,具有存储密度大,可通过计算直接确定第i个元素的存储地址,插入删除运算不方便的特点。

7.C解析:码也称为关键字,是表中若干属性的属性组,其值唯一标识表的一个元组,由函数据依赖的关系可以看出R的码为(M,A)。

8.C解析:所有授予出去的权限可以用RE— VOKE语句收回,保证了数据库管理系统的数据安全。

9.C解析:数据库设计分为以下6个阶段:需求分析、概念结构设计,逻辑结构设计、物理结构设计、数据库实施和数据库的运行和维护。

逻辑结构设计的任务是从概念模型导出特定的DBMS可以处理的数据库的逻辑结构。

10.B解析:数据库管理系统对事务的并发执行进行控制,以保证数据库一致性,最常用的方法是封锁的方法,即当一个事务访问某个数据项时,以一定的方式锁住该数据项,从而限制其他事务对该数据项的访问。

11.就绪由等待状态到就绪状态,说明等待的事情已经发生。

题目是当进程完成I/O后,进程由等待状态变为就绪状态
12.未提交事务未提交事务
13.缺页缺页
14.Reports
15.共享锁或S锁共享锁或S锁解析:给数据项加锁的方式有多种。

最基本的两种是:
①共享锁如果事务T获得了数据项Q上的共享型锁(记为S),则T可读Q但不能写Q。

②排他锁如果事务T获得了数据项Q上的排他型锁(记为X),则T既可读Q又可写Q。

16.主动攻击【解析】在X 800中将安全攻击分为两类:被动攻击和主动攻击。

被动攻击试图了解或利用系统的信息,但不影响系统资源。

主动攻击试图改变系统资源或影响系统工作。

17.静止【解析】JPEG是关于静止图像压缩编码的国际标准,由国际标准化组织和国际电报电话咨询委员会联合制定。

它适合于连续色调、多级灰度、单色或彩色静止图像的数字压缩编码。

18.WEB或网页WEB或网页
19.提交因一个事物故障导致一系列事物回滚的现象称为级联回滚,由于级联回滚导致撤销大量工作,因此不希望发生级联回滚,我们对调度进行限制,这种调度称为无级联调度。

20.数据库管理系统(DBMS)数据库管理系统(DBMS) 解析:数据库管理系统(DBMS)是位于用户与操作系统之间的一个数据管理软件,它通过数据定义、数据操纵、数据库的运行管理和控制、数据库的建立和维护来科学地组织、存储数据,高效地获取、维护数据。

21.B
22.B
23.B解析:数据库设计过程通常分为以下4个阶段:需求分析、概念结
构设计、逻辑结构设计和物理结构设计。

24.B
25.D
26.C解析:队列是一种先进先出的线性表,它只允许在表的一段进行插入,而在另一端进行删除,允许插入的一端叫做队尾,允许删除的一端叫做队头。

27.C
28.D
29.A
30.C
31.\n【审题关键句】字符替代f(p)=p*11mod256,小于等于32或对应小写字母不变,否则替换。

\n【解题思路】
\n本题类似第65套试题,通过审题可以发现主要是排序条件的设置要求有所不同,参考答案的第6行,修改if条件语句的设置即可。

\n【参考答案】
\n
\n
32.\n【审题关键句】求素数的个数及平均值,并计算非素数的平均值。

\n【解题思路】
\n①首先定义循环变量i,然后通过for循环对数组a[300]d0的每个元素a[i]调用函数isV(a[i])判断a[i]是否是素数(素数的算法已在isP函数中给出,此处直接调用即可),如果是素数,则把其加到变量pjz1上,同时计数变量cnt加1,否则a[i]值加到变量pjz2上。

直到判断完数组a[300]00的所有数据后退出循环。

\n②求出pJz1、pjz2和cnt的值之后,再用变量pjz1的值除以cnt的值
就得到素数的平均值,同时把这个值赋给变量pjz1,最后用变量pjz2的值除以300.cnt的值就得到非素数的平均值,并把这个值赋给变量pjz2。

\n【参考答案】
\n
\n
33.\n【审题关键句】读取正数,统计个数,各位数之和为奇数的数的个数及平均值。

\n【解题思路】
\n本题类似第46套试题,通过审题可以发现仅有一个不同点,即四位数的各位数之和为奇数,参考答案的第13条语句,将该该语句为判断各位数字之和是奇数的表达式即可。

\n【参考答案】
\n
\n
34.\n【审题关键句】以行为单位从字符串左边部分降序排序,排序后左边部分与右边部分进行交换。

如果原字符串长度为奇数,则最中间的字符不参加处理。

\n【解题思路】
\n①定义循环变量i、j、k和整型变量len、p。

\n②第一层for循环中,循环变量i从0开始,依次递增直到其值等于20,实现对20行数据的逐行处理。

在循环体中,对于i行首先调用函数strlen(xx[i])求得第i行字符串的长度,并把其值赋给变量len,再用1en 除以2,得到第i行字符串长度的一半,赋给变量P。

在第二层for循环
中,循环变量J从0开始,依次递过来增直到其值等于(p-1),在第三层for循环中,循环变量k从J+1开始,依次递过来增直到其值等于P,比较字符xx[i][j]ASCII码值与xx[i][k]ASCII码值的大小,如果字符xx[i]啪的ASCII码值小于xx[i][k]的ASCII码值,则两者进行互换实现对第i行字符串左半部分的字符串按降序排列。

\n③用变量len的值对2求余数,如果余数为1,则调用函数字符串拷贝函数strcpy,把从字符串xx[i]+P+1开始直到字符串xx[i]的结尾的子字符拷贝到字符串变量str中,再调用字符串连接函数stmcat把字符串xx[i]的中间字符连接到字符串变量str的后面,再调用字符串连接函数stmcat 把字符串xx[i]的左半部分的子字符串连接到变量str的后面;如果余数不等于1,则调用字符串拷贝函数strcpy,把从字符串xx[i]+P开始直到字符串xx[i]的结尾的子字符拷贝到字符串变量str中,再调用字符串连接函数stmcat把字符串xx[i]的左半部分的子字符串连接到变量str的后面,实现字符串xx[i]左右部分子字符串的交换。

\n④调用字符串拷贝函数strcpy,把字符串变量str的值拷贝到字符串xx[i],实现把排序后的结果仍按行重新存入字符串数组XX中。

\n【参考答案】
\n
\n
35.\n【审题关键句】以行为单位把字符串中的所有小写字母改写成该字母的上一个字母,大小写不变,其他字符不变。

\n【解题思路】
\n①定义整型循环变量i、j。

\n②在第一层for循环中,循环变量i从0开始,依次递增直到其值等于maxline,实现对文章每行的处理。

第二层for循环中,循环变量J从0开始,依次递增直到其值大于或等于strlen(xx[i]),在循环体中,利用if 条件语句判断如果xx[i][j]的值为字符’a’,则把xx[i][j]的值设置为字符’2’。

否则如果XX[i][D]的值在小写字符’at与’2’之间,则把xx[i][j]的值减1,把其值变成其前一个字符的ASCII码。

\n【参考答案】
\n
\n
36.\n【审题关键句】读入数值,奇数个数,偶数个数,数组下标为奇数的平均值。

\n【解题思路】
\n本题类似第42套试题,通过审题可以发现仅有一个不同点,即本题是计算数组下标为奇数的元素的平均值,参考答案的第6条语句。

\n【参考答案】
\n
\n
37.\n【审题关键句】计算金额,按产品代码从小到大进行排列,相同的则按金额从小到大排列,结果存入结构数组。

\n【解题思路】
\n本题类似第57套试题,通过审题可以发现主要是排序条件的设置要求有所不同,参考答案的第8行进行修改即可。

\n【参考答案】
\n
\n
38.\n【审题关键句】按每个数的后三位降序排列,然后取出满足此条件的前10个数依次存入数组;如果后三位的数值相等,则按原先的数值进行升序排列。

\n【解题思路】本题类似第7套试题,通过审题可以发现主要有两个不同点:①按每个数的后三位降序排列,参考答案的第5条语句,修改两数组元素的大小比较符即可;②后三位的数值相等则按原先的数值进行升序排列,参考答案的第13条语句,同样也是修改两数组元素的大小比较符即可。

\n【参考答案】
\n
\n
\n
39.\n【审题关键句】以行为单位把字符串中的所有小写字母改写成该字母的下一个字母,大小写不变,其他字符不变。

\n【解题思路】
\n①定义整型循环变量i、i。

\n②在第一层for循环中,循环变量i从0开始,依次递增直到其值等于maxline,实现对文章每行的处理。

第二层for循环中,循环变量j从0开始,依次递增直到其值等于strlen(xx[i]),在循环体中,利用if条件语句首先判断)xx[i][j]的值是否在小写字符字符’a’~’z’之间,然后,再判断在此范围之内的小写字母,如果是z,则该字符转换为a,如果字符不是
z,则将其改写成它的下一个字母。

\n【参考答案】
\n
\n
\n
40.\n【审题关键句】读取正数,统计个数,各位数字之和为偶数的数的个数及平均值。

\n【解题思路】\n\t\t定义整型循环变量i、j,表示各位数字之和的长整型变量he以及存储一个四位数的字符数组num[5]。

\n②循环变量i从0开始,依次递增到4,对字符数组num[5]的每个元素赋初值0。

\n③循环变量i从0开始,依次递增到MAXNUM.1,对每个数组元素xx[i]进行判断,如果xx[i]的值非零,则变量totNum加1,退出循环时,totNm的值就是文件in.dat中存有的四位正整数的个数。

\n④循环变量i从0开始,依次递增到totNum-1,对于每个数组元素xx[i]调用库函数sprintf以4个字符宽度形式输出到字符数组num中,用字符数组num中的每个元素减去0的ASCII码48,就分别得到XX[i]这个四位数每位上的数字,并把这四个数字相加赋给变量j。

再对变量j对2求余数进行判断其值是否等于0,如果等于0,则说明j是偶数,变量totCnt加1,并把xx[i]的值累加到变量he。

\n⑤退出循环后,把变量he的类型转换成双精度型再除以totCnt得到符合条件的数的算术平均值totPjz。

\n【参考答案】。

相关文档
最新文档