【2023年】江西省上饶市全国计算机等级考试数据库技术测试卷(含答案)

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

【2023年】江西省上饶市全国计算机等级考试数据库技术测试卷(含答案) 学校:________ 班级:________ 姓名:________ 考号:________
一、1.选择题(10题)
1. 数据库的三级模式中,( )是对数据库中全体数据的逻辑结构和特征的描述。

A.模式
B.外模式
C.内模式
D.子模式
2. 二叉树的第i(i≥1)层上的结点个数有( )。

A.2i-1个
B.多余2i-1个
C.最多2i-1个
D.不能确定
3. 在面向对象数据模型中,子类不但可以从其超类中继承所有属性和方法,而且还可以定义自己的属性和方法,这有利于实现
A.可移植性
B.可扩充性
C.安全性
D.可靠性
4. 计算机网络与分布式系统之间的区别主要是在( )。

A.系统物理结构
B.系统高层软件
C.传输介质
D.服务器类型
5.系统出现死锁的原因是()。

A.计算机系统发生了重大故障
B.有多个封锁的进程同时存在
C.若干进程因竞争资源而无休止地等待其他进程释放已占有的资源
D.资源数大大少于进程数,或进程同时申请的资源数大大超过资源总数
6. 事务的ACID特性中的C的含义是( )。

A.并发性(Concurrency)
B.临近性(Contiguity)
C.连续性(Continuity)
D.一致性(Consistency)
7. 在完全二叉树中,若一个结点是叶结点,则它没有
A.左子结点
B.右子结点
C.左子结点和右子结点
D.左子结点,右子结点和兄弟结点
8. 有两个程序:A程序按顺序使用CPU 10秒,使用设备甲5秒,使用CPU 5秒,使用设备乙10秒,使用CPU 10秒。

B程序按顺序使用设备甲10秒,使用CPU 10秒,使用设备乙5秒,使用CPU 5秒,使用设备乙10秒。

在顺序环境下,执行A程序和B程序,CPU的利用率为
A.30%.
B.40%.
C.50%.
D.60%.
9. 文件系统中若文件的物理结构采用顺序结构,则文件控制块的FCB 中关于文件的物理位置应包括:
Ⅰ.首块地址;
Ⅰ.文件长度;
Ⅰ.索引表地址。

A.只有Ⅰ
B.Ⅰ和Ⅰ
C.Ⅰ和Ⅰ
D.Ⅰ和Ⅰ
10. 下列不属于操作系统功能的是
A.进程管理
B.存储管理
C.作业管理
D.数据库管理
二、填空题(10题)
11.表的分割有两种方式,根据行特点分割的是(),列特点分割是()
12. PowerDesigner是SYBASE公司提供的CASE工具,它包括多个模块,其中用于数据库概念数据建模(CDM)的模块是______。

13. 如果多个事务在某个调度下的执行结果与这些事务在某个串行调度下的执行结果相同,则称这个调度为【】调度。

14.用二维表结构表示试题数据模型称为【】数据模型
15.常用的身份认证方法有:___________、持证认证和生物识别。

16.SUN公司的Solaris是在___________操作系统的基础上发展起来的。

17.设有关系R(A,B,C)和S(A,D,E,F),若将关系代数表达式:
用SQL语言的查询语句表示,则有:SELECTR.A,B,D,FFROMR,SWHERE___________。

18. PowerBuilder是一种深受广大用户欢迎的快速应用开发工具,它与其他应用开发工具比较,最具有特色的是【】。

19.如果系统的物理内存不能满足应用程序的需要,那么就需要使用___________内存。

20.FTP服务器利用___________来控制用户对服务器的访问权限。

三、单选题(10题)
21.在数据库概念设计阶段,将局部E-R图集成为全局的E-R图时有可能发生冲突,下面表述错误的是()。

A.A.总共可能发生2类冲突
B.类型、取值范围的冲突属于属性冲突
C.属性冲突通过协商、讨论等手段进行解决
D.结构冲突要用技术手段解决
22.概念设计的结构是得到一个与( )
A.DBMS有关的逻辑结构
B.DBMS无关的概念模式
C.DBMS和硬件有关的逻辑结构
D.DBMS和硬件无关的数据结构
23.一个数据表10000行数据,每行3500字节,计算表需要空间()
A.20MB
B.40MB
C.60MB
D.80MB
24. 若让元素1,2,3依次进栈,则出栈次序不可能出现哪一种情况?
A.3,2,1
B.2,1,3
C.3,1,2
D.1,3,2
25.在SQL语言中,( )子句能够实现关系参照性规则。

A.PRIMARY KEY
B.NOT NULL
C.FOREIGN KEY
D.FOREIGN KEY...REFERENCES...
26.消息认证是指接收者能够检验收到消息真实性的方法,下列不属于消息认证的检验内容?
A.A.证实消息的源和宿
B.消息的内容是否保持其完整性
C.消息的序号和时间性
D.消息是否被窃取
27.关于IP提供的服务,正确的是()。

A.A.IP提供了不可靠的数据投递服务,因此数据报的投递不能受到保障
B.IP提供不可靠的数据投递服务,因此它可以随意丢弃报文
C.IP提供可靠的数据投递服务,因此数据报投递可以受到保障
D.IP提供可靠的数据投递服务,因此它不能随意丢弃报文
28.进程具有并发性和( )两大重要属性。

A.动态性
B.静态性
C.易用性
D.封闭性
29. 设散列函数为H(k)=k mod 7,现欲将关键码23,14,9,6,30,12,18依次散列于地址0~6中,用线性探测法解决冲突,则在地址空间0~6中,得到的散列表是
A.14,6,23,9,18,30,12
B.14,18,23,9,30,12,6
C.14,12,9,23,30,18,6
D.6,23,30,14,18,12,9
30.如果两个实体之间的联系是M∶N,则在转换成关系模型时,( )引入第三个交叉关系。

A.需要
B.不需要
C.无所谓
D.将两个实体合并
四、C语言程序设计题(10题)
31. 已知在文件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的内容。

32. 函数ReadDat实现从文件in.dat中读取一篇英文文章,存入到字符串数组XX中;请编制函数eneryptChar,按给定的替代关系对数组XX 中的所有字符进行替代,仍存入数组XX对应的位置上,最后调用函数WriteDat把结果xX输出到文件out.dat中。

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

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

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

33. 函数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的内容。

34. 设有n个人围坐一圈并按顺时针方向从1到n编号,从第s个人开始进行1到m的报数,报数到第m个人,此人出圈,再从他的下一个人重新开始1到m的报数,如此进行下去直到所有的人都出圈为止。

现要求按出圈次序,每10人一组,给出这n个人的顺序表。

请考生编写函数Josegh(void)实现此功能,并调用函数writeDat,把结果P输出到文件out.dat中。

设n=100,s=1,m=10。

①将1到n个人的序号存入一维数组P中;
②若第i个人报数后出圈,则将p[i]置于数组的倒数第i个位置上,而原来第i+1个至倒数第i个元素依次向前移动一个位置;
③重复第②步直至圈中只剩下p[1]为止。

注意:部分源程序已经给出。

请勿改动主函数main和输出数据函数writeDAT的内容。

35. 已知数据文件in.dat中存有300个四位数,并已调用读函数readDat 把这些数存入数组a中,请编制一函数jsValue,其功能是:求出于位数上的数加个位数上的数等于百位数上的数加十位数上的数的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序。

最后main函数调用写函数writeDat把数组b中的数输出到文件out.dat中。

36. 已知数据文件IN1.DAT和IN2.DAT中分别存有100个两位十进制数,并且已调用读函数readDat把这两个文件中的数存入数组a和b 中,请考生编制一个函数jsVal,实现的功能是依次对数组a和b中的数
按条件重新组成一个新数并依次存入数组C中,再对数组C中的数按从小到大的顺序进行排序,最后调用输出函数writeDat把结果C输出到文件out.dat中。

组成新数的条件:如果数组a和b中相同下标位置的数均是奇数,则数组a中十位数字为新数的千位数字,个位数字仍为新数的个位数字,数组b中的十位数字为新数的百位数字,个位数字为新数的十位数字,这样组成的新数并存入数组C中。

37. 编写一个函数findStr(char*str,char*substr),该函数统计一个长度为2的子字符串substr在另一个字符串str中出现的次数,该次数作为函数值返回。

例如,假定输入的字符串为”asd asasdfg asd as zx67 asdmklo”,
子字符串为”as”,函数返回值是6。

函数ReadWrite实现从文件in.dat中读取两个字符串,并调用函数findStr,最后把结果输出到文件out.dat中。

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

请勿改动主函数main和其他函数中的任何内容,仅在函数findStr的花括号中
填入你编写的若干语句。

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

请编制函数CalValue,其功能要求:
1.求出该文件中共有多少个正整数totNum;
2.求这些正整数右移1位二进制位后,产生的新数是奇数的数的个数totCnt,以及满足此条件的这些正整数(右移前的值)的算术平均值totPjz。

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

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

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

39.已知数据文件in.dat中存有200个四位数,并已调用读函数readDat 把这些数存入数组a中,请考生编制一函数jsVa,其功能是:把千位数字和十位数字重新组成一个新的含有两位数字的数ab(新数的十位数字是原四位数的千位数字,新数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的含有两位数字的数cd(新数的十位数字是原四位数的个位数字,新数的个位数字是原四位数的百位数字),如果新组成的两个数ab-cd>=0且ab.cd<=10且两个数均是奇数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。

最后main函数调用写函数writcDat把结果cnt以及数组b中符合条件
的四位数输出到文件0ut.dat中。

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

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

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

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

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

提示:若中间变量为PRO temp,则可以直接使用结构赋值语句进行解题。

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

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

五、设计与应用题(2题)
41.已知某教务管理系统的设计人员在需求分析阶段收集到下列原始数据表格:
教师
课程
已知该业务系统存在如下规则:
Ⅰ.每个教师有唯一的教师号,每个教师号对应唯一的一名教师;Ⅱ.每门课程有唯一的课程号,每个课程号对应唯一的一门课程;Ⅲ.每本教材有唯一的教材号,每个教材号对应唯一的一本教材;Ⅳ.每个教师最多只有一个上级领导,也可以没有上级领导;
V.一门课程仅由一名教师讲授;
Ⅵ.一本教材仅用于一门课程。

(12分)
(1)请根据原始数据表及业务规则,给出该系统的关系模式,保证每个关系模式满足3NF,并说明每个关系模式的主码和外码。

(2)画出该系统的ER图,ER图中需给出每个实体集的属性,主码属性用下划线标识。

42.现有论文和作者两个实体,论文实体的属性包括题目、期刊名称、年份、期刊号;作者实体的属性包括姓名、单位、地址;一篇论文可以有多个作者,且每一位作者写过多篇论文,在每一篇论文中有作者的顺序号。

请完成以下操作:(10分)(1)画出E-R图。

(2)将E-R图转换成
关系模式,并指出每个关系模式的主键(加下划线)和外键(加波浪线)。

六、单选题[1分](2题)
43.用UML建立业务模型是理解企业业务的第一步,业务人员扮演业务中的角色及其交互方式,例如航空公司的售票员是业务员,电话售票员也是业务员,它们直接的关系是()。

A.关联关系
B.依赖关系
C.聚集关系
D.概括关系
44.某数据库应用系统中,数据库管理员发现某个查询功能是用多表连接操作实现的,此操作性能较差。

在保证功能不变的前提下,若要提高该查询的执行效率,下列方法中可行的是()
A.将此查询语句放置在视图中,使用视图实现该查询操作
B.修改实现此功能的查询语句,将连接查询改为嵌套查询
C.将此功能涉及到的表进行合并,然后对合并后的表进行查询
D.将此查询语句放置在存储过程中,通过调用存储过程实现该查询操作
参考答案
1.A解析:模式也称逻辑模式或概念模式,它是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图,是数据库系统模式结构的中间层;外模式也称子模式或用户模式。

2.C解析:因为二叉树的每个结点度至多为2,用归纳法可以得到此结
论。

3.B所谓可扩充性,是指根据实际的要求,系统可被方便地载减和灵活的扩展,使系统能适应变化和新情况,而题中所述的正是说子类从超类中不但可以继承属性和方法,还可以定义自己的属性和方法,这是一种扩充性的表现。

4.B解析:分布式系统与网络的设计思想是不同的,因此它们的结构、工作方式与功能也是不同的。

另外,分布式系统与计算机网络的主要区别不在它们的物理结构上,而是在高层软件上。

分布式系统是一个建立在网络之上的软件系统,这种软件保证了系统高度的一致性与透明性。

分布式系统的用户不必关心网络环境中资源的分布情况以及联网计算机的差异,用户的作业管理与文件管理过程对用户是透明的。

【解析】计算机系统中有限的资源与众多请求分配资源的进程间存在矛盾。

当若干进程需求资源的总数大于系统所能提供的资源数时,进程间就会出现抢占资源的现象,如果对进程抢占的资源管理或分配不当就会引起死锁。

6.DACID的含义分别为:原子性A(atomicity),一致性C(consistency),隔离性I(isolation),持久性D(durability)。

7.C解析:在深入了解什么是完全二叉树之后,我们总结一下:若一个结点为完全二叉树中的叶子结点,那么它决不可能有左右子结点,而完全可以有兄弟结点。

8.C解析:根据题目分析可知系统共运行了80秒,而CPU只使用了40秒,故CPU的利用率为50%。

9.B解析:文件的顺序结构是一种最简单的物理结构,只要知道文件在存储设备上的起始地址(首块号)和文件长度(总块数)就能很快地进行存取。

10.D解析:操作系统功能有进程管理、存储管理、文件管理、设备管理、作业管理。

掌握操作系统的特征,操作系统在计算机中的地位。

11.水平分割、垂直分割
12.DataArehitectDataArehitect 解析:PowerDesigner是一组紧密集成的计算机辅助软件工程(CASE)工具,用于为复杂的数据库应用完成分析、设计、维护、建立文档和创建数据库等功能。

它可以根据用户的项目规模和范围的需要提供灵活的解决方案。

Power Designer由五个模块组成:MetaWorks,ProcessAnalyst,DataArchitect,WarehouseArchitect和AppModeler。

DataArchitect提供概念数据模型设计,自动的物理数据模型生成,针对多种数据库管理系统的数据库生成,开发工具的支持和高质量的文档特性。

13.可串行化可串行化解析:几个事务的并行执行是正确的,当且仅当其结果与按某一次序串行地执行它们时的结果相同时,称这种并行调度策略为可串行化的调度。

可串行化是并行事务正确性的唯一准则。

14.关系关系模型:用二维表的形式表示实体和实体间联系的数据模型。

15.口令认证【解析】常用的身份认证方法有:口令认证、持证认证和生物识别。

16.Sun OS【解析】Solaris是Sun公司的UNIX系统,是在Sun公司自
己的Sun OS的基础上设计开发的。

17.R.A=S.A或S.A=R.A【解析】自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且要在结果中把重复的属性去掉。

本题是自然连接,所以本题答案为R.A=S.A或S.A =R.A。

18.可通过数据窗口访问数据库可通过数据窗口访问数据库
19.虚拟【解析】如果系统的物理内存不能满足应用程序的需要,虚拟内存管理程序就会接入来弥补不足。

20.用户账号【解析】FTp服务器利用用户账号来控制用户对服务器的访问权限。

21.A
将局部E-R图集成为全局的E-R图时有可能发生3类冲突,即属性冲突,结构冲突,命名冲突。

22.B
23.B
24.C解析:栈是限制仅在表的一端进行插入和删除运算的线性表,通常称插入、删除的这一端为栈顶(Top),另一端称为栈底(Bottom)。

当表中没有元素时称为空栈。

根据上述定义,每次删除(退栈)的总是当前栈中“最新”的元素,即最后插入(进栈)的元素,而最先插入的是被放在栈的底部,要到最后才能删除。

根据上述原理,C) 3,1,2,既然先出栈的是3,说明1,2已经进栈,那么1不可能在2之前出栈。

25.D
26.D
消息认证是指接收者能够检验收到消息真实性的方法,检验的内容包括:
①证实消息的源和宿
②消息的内容是否保持其完整性、即未篡改
③消息的序号和时间性
27.AIP提供了不可靠的数据投递服务,IP本身没有能力证实发送的报文是否被正确接收,数据报可能路延迟、路由错误、数据报分片和重组等过程中受到损坏,但IP不检测这些错误,在错误发生时,IP也没有可靠的机制来通知发送方或接收方,因此数据报的投递不能受到保障。

28.A
29.B解析:将23,14,9,6,30,12,18依次按散列函数K(k) =k mod 7计算,并按线性探测法解决冲突,得到的散列结果是14,18,23,9,30,12,6。

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

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

\n【参考答案】
\n
\n
32.\n【审题关键句】字符替代f(p)=p*11mod256,小于等于32或对应大写字母不变,否则替换。

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

另外,在源程序中已经定义了一个无符号变量va1,因此,在编写答案程序时,不需要再重新定义。

\n【参考答案】
\n
\n
33.\n【审题关键句】字符替代f(p)=p*11mod256,小于等于32或对应小写字母不变,否则替换。

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

\n【参考答案】
\n
\n
34.\n【审题关键句】围圈问题。

\n【解题思路】
\n①定义整型变量i、j,表示出圈人位置的变量s1和出圈人序号的变量W。

并将S的值赋给变量s1(s的值已在源程序中赋值为1)。

\n②通过一个for循环,将n个人的序号存入一维数组P中(n的值已在源程序中赋值为100)。

\n③再建立一个for循环,循环变量i从n开始,即从100开始,依次递
减直到其值小于2时退出循环。

由于每执行一次循环,人数就会减少1个,因此,此处的for循环应表示为递减方式。

在该循环体中,先计算每次出圈人的位置,通过表达式“(s1+m.1)%i”计算每次出圈人的位置(m的值已在源程序赋值为1O)。

若所得结果为0,则说明要开始报数的是最后一个人,在此人前面的那个人就是要出圈的人,再通过一个循环将要出圈的人移到数组最后。

\n【参考答案】
\n
\n
35.\n【审题关键句】千位+个位等于百位+十位个数,把所有满足此条件的数依次存入数组,按从小到大的顺序排序。

\n【解题思路】
\n本题类似第9套试题,通过审题可以发现仅有一个不同点,即要求统计的四位数的条件是“个位+千位=百位+十位”,参考答案的第8条语句,修改if条件语句的判断条件即可,对于数据交换的整型变量tmp可以自定义其变量名。

\n【参考答案】
\n
\n
36.\n【审题关键句】数组相同下标位置上的奇数,数组a中十位数等于新数的千位数字,个位等于新数个位数字,数组b中的十位等于新数的百位数字,个位数字等于新数的十位数字,存入数组,从小到大排序。

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

\n②在for循环语句中,循环变量i从0开始,依次递增直到其值等于或大于MAX,用if条件语句判断如果a[i]和b[j]同时为奇数,由a[i]的十位数字为新数的千位数字,个位数字为新数的个位数字,b[i]的十位数字为新数的百位数字,个位数字为新数的十位数字,把这个新组成的数存入数组元素c[cn],同时数组下标变量cn加1。

\n③在第一层for循环语句中,循环变量i从0开始,依次递增直到其值等于或大于cnt,在第二层循环中,循环变量{从i+1开始,依次递增直到其值等于cnt,用if条件语句判断如果数组元素c[i]大于c[j],则两者进行互换,实现数组C中的数按从小到大的顺序进行排序。

\n【参考答案】
\n
\n
37.\n【审题关键句】统计一个长度为2的子字符串在另一个字符串中出现的次数。

\n【解题思路】
\n①定义字符指针p,q,并且q指向字符串str。

定义计数整型变量cnt,设置其值等于0。

\n②在while循环中调用C语言的字符串库函数strstr,返回子字符串substr在字符串q第一次出现的位置,赋给变量P。

用if语句判断,如果p的值为空,则说明在字符串str没有找到子字符串,退出循环。

否则,变量cnt加1,再把P的值加2(因为子字符串substr的长度为2)赋给变量q,执行下一次循环。

直到字符串中不存在子字符串时,退出循
环结束。

\n③最后,返回子字符串substr在字符串str中出现的次数。

\n【参考答案】
\n
38.\n【审题关键句】读取正数,统计个数,右移后为奇数的个数及平均值。

\n【解题思路】
\n本题类似第44套试题,通过审题可以发现仅有一个不同点,即参与平均值计算的元素是数组xx[i]右移一位之后为奇数的元素,参考答案的第9条语句。

\n【参考答案】
\n
\n
39.【审题关键句】千位+十位组合与个位+百位组合,都是奇数,两数相减结果大于等于0小于等于10,从大到小排序。

\n【解题思路】
\n①首先,本题要定义多个变量,包括两仑循环变量循环i、j;用来存放四位数分解之后各位数的变量qw(千位)、bw(百位)、SW(十位)和gw(个位);两个用来存放重新组合数字的变量newV1和newV2。

\n②通过for循环依次对数组中的每个四位数进行分解,每分解一个四位数,根据题目要求,对其各位数进行重新组合,形成两个新的十位数,组合条件分别是原四位数的千位和十位组成一个十位数,个位和百位组成一个十位数,并将两个新的十位数分别赋给变量newV1和newV2。

相关文档
最新文档