【2023年】湖南省永州市全国计算机等级考试数据库技术测试卷(含答案)_第1页
【2023年】湖南省永州市全国计算机等级考试数据库技术测试卷(含答案)_第2页
【2023年】湖南省永州市全国计算机等级考试数据库技术测试卷(含答案)_第3页
【2023年】湖南省永州市全国计算机等级考试数据库技术测试卷(含答案)_第4页
【2023年】湖南省永州市全国计算机等级考试数据库技术测试卷(含答案)_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

【2023年】湖南省永州市全国计算机等级考试数据库技术测试卷(含答案)学校:________班级:________姓名:________考号:________

一、1.选择题(10题)1.如下图所示,两个关系R1和R2,它们进行哪种运算后得到R3?

A.交B.并C.笛卡儿积D.连接

2.下列算法中,不属于作业调度算法的是

A.先来先服务算法B.最高优先数算法C.短作业优先算法D.资源搭配算法

3.下面不属于数据库运行过程中,可能发生的三类故障是______。

A.系统故障B.事务故障C.违背完整性约束条件D.介质故障

4.临界区是指并发进程中访问共享变量的

A.管理信息段B.信息存储段C.数据段D.程序段

5.计算机系统软件一般包括()。

①服务型程序

②语言处理程序

③操作系统

④数据库管理系统

A.①、②和③B.①、③和④C.②、③和④D.全部

6.数字签名是通过()来实现的。

A.认证B.程序C.签名算法D.仲裁

7.设S为学生关系,SC为学生选课关系,Sno为学生号,Cno为课程号,执行下面SQL语句的查询结果______。SELECTS*FROMS,ScWHERES.Sno=SC.SnoANDSC.Cno='C2'

A.选出选修C2课程的学生信息

B.选出选修C2课程的学生名

C.选出S中学生号与SC中学生号相等的信息

D.选出s和SC中的一个关系

8.

查找学生姓名及其所选修课程的课程号和成绩,正确的SQL语句是

A.SELECTsnameFROMstudent,SELECTcno,gradeFROMscWHEREstudent.sno=sc.sno

B.SELECTsname,cno,gradeFROMstudent,courseWHEREstudent.sno=o

C.SELECTsname,cname,gradeFROMstudent,course,scWHEREstudent.sno=sc.snoando=course,cno

D.SELECTsname,cno,gradeFROMstudent,scWHEREstudent.sno=sc.sno

9.在SQL语言中,一个基本表的定义一旦被删除,则与此基本表相关的下列内容中哪些也自动被删除

Ⅰ.在此表中的数据

Ⅱ.在此表上建立的索引

Ⅲ.在此表上建立的视图

A.Ⅰ和ⅡB.Ⅱ和ⅢC.Ⅰ和ⅢD.全部

10.以下哪个是队列的基本运算?

A.从队首插人一个新元素B.从队列中删除第i个元素C.判断一个队列是否为空D.读取队尾元素的值

二、填空题(10题)11.数据库中,每个事务都感觉不到系统中其他事务在并发地执行,这一特性称为事务的______。

12.散列法存储中处理碰撞的方法主要有两类,开地址法和【】。

13.IP服务的3个主要特点是___________、面向非连接和尽最大努力投递服务。

14.SQLServer性能工具有:()和数据库引擎优化顾问

15.在定义基本表的SQL语句CREATETABLE中,如果要定义某个属性不能取空值,应在该属性后面使用的约束条件短语是______。

16.下表为一路由器的路由表。如果该路由器接收到一个源IP地址为0、目的IP地址为0的IP数据报,那么它将把此IP数据报投递到___________。

17.UNIX内核部分包括文件子系统和___________控制子系统。

18.地理信息系统的英文缩写是___________。

19.

20.在数据库的三级模式体系结构中,外模式与模式之间的映像(外模式/模式),实现了数据库的【】独立性。

三、单选题(10题)21.用户对SQL数据库的访问权限中,如果只允许删除基本表中的元组,应授予哪一种权限?

A.DROPB.DELETEC.ALTERD.UPDATE

22.逻辑文件存放在存储介质上时,采用的组织形式是与什么有关?

A.逻辑文件结构B.存储介质特性C.主存储器管理方式D.分配外设方式

23.描述概念模型的常用方法是

A.建立数据模型方法B.需求分析方法C.二维表方法D.实体-联系方法

24.一个栈的入栈序列是a、b、c、d、e,则栈的不可能的输出序列是()

A.edcbaB.decbaC.dceabD.abcde

25.若实体间的联系是M∶N,则将联系类型()

A.的属性加入任一个关系模式中

B.的属性加入N端实体类型相对应的关系模式中

C.的属性加入M端实体类型相对应的关系模式中

D.也转换为关系模型

26.下列不是TCP/IP参考模型中的应用层协议()。A.A.电子邮件协议SMTPB.网络文件系统NFSC.简单网络管理协议SNMPD.文件传输协议FTP

27.一个公司有若干名兼职人员,而每个兼职人员有可能在多家公司打工,则公司与兼职人员之间具有

A.一对一联系B.一对多联系C.多对多联系D.多对一联系

28.下列关于数据的逻辑结构的叙述中,哪一个是正确的?()。

A.数据的逻辑结构是数据间关系的描述

B.数据的逻辑结构反映了数据在计算机中的存储方式

C.数据的逻辑结构分为顺序结构和链式结构

D.数据的逻辑结构分为静态结构和动态结构

29.在SQLSever中创建用户数据库,其主要数据文件的大小必须大于__________。

A.master数据库的大小B.model数据库的大小C.msdb数据库的大小D.3MB

30.概念模型()

A.依赖于DBMS和硬件B.独立于DBMS和硬件C.依赖于DBMSD.独立于DBMS

四、C语言程序设计题(10题)31.已知数据文件in.dat中存有200个四位数,并已调用读函数readDat把这些数存入数组a中,请考生编制一函数jsVal,其功能是:把个位数字和千位数字重新组成一个新的含有两位数字的数(新数的十位数字是原四位数的个位数字,新数的个位数字是原四位数的千位数字),以及把百位数字和十位数字组成另~个新的含有两位数字的数(新数的十位数字是原四位数的百位数字,新数的个位数字是原四位数的十位数字),如果两个新组成的数均是偶数并且至少有一个数能被9整除,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main函数调用写函数writeDat把结果cnt以及数组b中符合条件的四位数输出到0ut.dat文件中。

32.已知数据文件in.dat中存有200个四位数,并已调用读函数readDat把这些数存入数组a中,请考生编制一函数jsVal,其功能是:把一个四位数的千位数位置上的值减去百位数位置上的值再减去十位数位置上的值最后减去个位数位置上的值,如果得出的值大于等于零且原四位数是奇数,则统计出满足此条件的个数cnt,并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat把结果cnt以及数组b中符合条件的四位数输出到0ut.dat文件中。

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

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

34.

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

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

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

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

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

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

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

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

38.程序test.C的功能是:利用以下所示的简单迭代方法求方程cos(x).x=0的一个实根。迭代公式:Xn+1=cos(xn)(n是迭代次数)

迭代步骤如下:

(1)取X1初值为0.0;

(2)X0=X1,把X1的值赋给x0;

(3)X1=cos(x0),求出一个新的x1;

(4)若x0.X1的绝对值小于0.000001,执行步骤(5),否则执行步骤(2);

(5)所求X1就是方程cos(X)-X=0的一个实根,作为函数值返回。

请编写函数countValue实现程序的功能,最后main函数调用函数writeDAT把结果输出到文件0ut.dat中。注意:部分源程序存放在test.C文件中。

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

39.设有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的内容。

40.编写一个函数findStr(char*str,char*substr),该函数统计一个长度为2的子字符串substr在另一个字符串str中出现的次数,该次数作为函数值返回。例如,假定输入的字符串为”asdasasdfgasdaszx67asdmklo”,子字符串为”as”,函数返回值是6。

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

注意:部分源程序存在test.c文件中。请勿改动主函数main和其他函数中的任何内容,仅在函数findStr的花括号中

填入你编写的若干语句。

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

42.设某全国性的运输企业建立了大型0LTP系统,并在该系统之上建立了数据仓库。0LTP系统和数据仓库中有如下数据表:运输明细表(运输单ID,发送站ID,终到站ID,货物ID,货物重量,运输价格,发货日期)汇总表1(发送站ID,终到站ID,货物ID,发货日期,总重,总运价)汇总表2(发送站ID,终到地区ID,货物ID,发货日期,总重,总运价)汇总表3(发送站ID,终到站ID,货物ID,发货月份,总重,总运价)汇总表4(发送地区ID,终到地区ID,货物类别ID,发货日期,总重,总运价)该企业管理的货运站约有100个,货物约有500种共l0类,各汇总表都建有主码,且各表有合理的维护策略,在每次维护后数据能保持一致。设有视图V,该视图的访问频率很高,其查询结果模式为(发送地区ID,终到站ID,发货月份,总重,总运价),该视图现以汇总表1为计算数据源。经监控发现,汇总表1的被访问频率过高,导致系统整体性能下降,而其它汇总表被访问频率较低。在不增加汇总表和索引的情况下,请给出一个改善系统服务性能的优化方案,并简要说明理由。(10分)

六、单选题[1分](2题)43.以下哪个设计内容不属于数据库应用系统总体设计范畴()。

A.数据库应用系统体系结构设计B.软硬件选型和配置设计C.数据库软件总体设计D.关系模式设计

44.数据库运行过程中,对数据库空间使用情况进行管理是一项非常重要的工作。下列有关数据库空间管理的说法,错误的是()。

A.不同的数据库管理系统,由于使用逻辑存储结构屏蔽了物理存储结构,因此数据库空间管理的方法基本相同

B.数据库管理员需要通过历史数据分析并根据应用系统情况,对数据库所使用的空间情况进行预测

C.应重点监控空间增长比较快的表,当数据量超过存储能力前及时增加存储空间

D.当硬件存储空间无法满足数据库需求时,可以考虑将部分不使用的历史数据转移到其他廉价存储中

参考答案

1.D解析:连接操作是在两个关系中,选取属性满足条件的元组生成一个新的关系。

2.B解析:常见的作业调度算法有:1、先来先服务算法;2、短作业优先算法;3、最高响应比作业优先算法;4、资源搭配算法;5、多队列循环算法。最高优先数算法不是一种作业调度算法,而是一种进程调度算法。

3.C

4.D不论是硬件临界资源,还是软件临界资源,多个进程必须互斥地对它进行访问。每个进程中访问临界资源的那段程序称为临界区

5.D

6.C解析:使用数字签名是实施身份认证的办法之一,它是通过签名算法来实现的。一个签名算法至少应满足3个条件:签名者事后不能否认自己的签名。接收者能验证签名,而任何其他人都不能伪造签名。当双方关于签名的真伪发生争执时,有第三方能解决双方的争执。

7.A解析:由题可知本语句功能是从表S和SC中选出选修C2课程的学生信息

8.D解析:题意中要求查找学生姓名、课程号和成绩,这三个属性可以查找两个关系表student和sc,通过条件student.so=sc.so进行连接。

9.A解析:基本表一旦被删除,表中的数据和在此表上建立的索引都将自动被删除掉,而建立在此表上的视图虽仍保留,但已无法引用。

10.C解析:队列是另一种特殊的线性表,限定所有的插入都在表的一端进行,所有的删除都在表的另一端进行,即先进先出。基本运算包括从队尾插入一个新元素、读取队首元素的值和判断一个队列是否为空。

11.隔离性隔离性解析:尽管多个事务可以并发执行。但系统必须保证,对任一对事务T1和T2,在T1看来。T2或者在T1开始之前已经停止执行,或者在T1完成之后执行。这样,每个事务都感觉不到系统中有其他事务在并发地执行。我们称之为事务的隔离性。

12.拉链法散列存储两类处理碰撞的方法是开地址法和拉链法。

13.不可靠的数据投递服务【解析】IP服务的3个主要特点是不可靠的数据投递服务、面向非连接和尽最大努力投递服务。

14.SQLServerProfiler

15.NOTNULL

.7【解析】目的网络的IP地址是40.0.n0,那么查表可知,路由器应该把IP数据报投递到。

17.进程【解析】UNIX的系统结构可分为两大部分,一部分是操作系统的内核,另一部分是系统的外壳。内核部分由文件子系统和进程控制子系统组成;外壳由Shell解释程序、支持程序设计的各种语言、编译程序和解释程序、实用程序和系统调用接口等组成。

18.GIS【解析】地理信息系统(GIS)有时又称为“地学信息系统”或“资源与环境信息系统”。它是一种特定的十分重要的空间信息系统。它是在计算机硬、软件系统支持下,对整个或部分地球表层(包括大气层)空间中的有关地理分布数据进行采集、储存、管理、运算、分析、显示和描述的技术系统。

19.

20.逻辑逻辑解析:数据库系统的三级模式是对数据的三个抽象级别。为了能够在内部实现这3个抽象层次之间的联系和转换,数据库管理系统在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像。正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立和物理独立性。

21.B解析:允许删除基本表中的元组的权限是DELETE。

22.B解析:用户的逻辑文件要存放到存储介质上时,文件系统要根据存储设备的类型,用户采用的存取方式决定文件在存储介质上的组织方式。

23.D解析:概念模型的表示方法很多,其中最为著名和常用的是P.P.S.Chen提出的实体—联系方法。该方法用E-R图来描述现实世界的概念模型。

24.C

25.D

26.C解析:应用层协议主要有以下7种。①网络终端协议TELNET,用于实现互联网中远程登录功能。②文件传送协议FTP,用于实现互联网巾交互式文件传输功能。③电子邮件协议SMTP,用于实现互联网中电子邮件传送功能。④域名服务DNS,用于实现网络设备名字到IP地址映射的网络服务。⑤路由信息协议RIP,用于网络设备之间交换路由信息。⑥网络文件系统NFS,用于网络中不同主机间的文件共享。⑦HTTP协议,用于WWW服务。

27.C解析:本题主要考查了实体之间多对多的联系。如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,称为一对一联系;如果对于实体集A中的每一个实体,实体集B中有n个实体与之联系;对于实体集B中的每一个实体,实体集A中至多有一个实体与之联系,称实体集A与B的联系为一对多联系;如果对于实体集A中的每一个实体,实体集B中有n个实体与之联系;对于实体集B中的每一个实体,实体集A中有m个实体与之联系,称为多对多联系。所以C)正确。

28.A解析:按照逻辑结构的定义:数据的逻辑结构是数据间关系的描述,只抽象地反映数据元素之间的逻辑关系,不管其存储方式。顺序结构、链式结构、静态结构和动态结构都是指存储结构。因此A是正确的。

29.B

30.B

31.\n【审题关键句】个位+千位与百位+十位,偶数,整除,从大到小排序。

\n【解题思路】

\n本题类似第24套试题,通过审题可以发现主要是对四位数的筛选条件有所不同,体现在两个方面:①分解后重新组合成两位数的方式不同,参考答案的第8、9条语句重新指定两位数的组合方式:②新组合的两位数的偶数的判断及整除判断,参考答案的第10条语句。注意,两个整除关系表达式要用或运算符(||)连接,且用括号括起来先进行整除运算(因为或运算级别比与运算级别低,因此要括起来),再与奇偶性判断表达式进行与()运算。

\n【参考答案】

\n

\n

\n

32.\n【审题关键句】千位-百位-十位-个位,结果大于等于零且原四位数是奇数,统计出满足此条件的个数,并按从小到大的顺序存入数组。

\n【解题思路】

\n本题类似第9套试题,通过审题可以发现主要有两个不同点:一是要求统计的四位数的条件是“千位一百位-十位-个位>=0”,二是要求该四位数是奇数,这两个不同点都体现在参考答案的第8条语句中,对该语句进行修改即可,其中,可以判断奇数的表达式是“a[i]%2”。

\n【参老答案】

\n

\n

\n

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

\n【解题思路】

\n本题类似第9套试题,通过审题可以发现有两个不同点:①要求统计的四位数的条件是“个位一千位-百位一十位数大于零的个数”,参考答案的第8条语句修改if语句的判断条件即可。②将统计结果按从大到小的顺序排序,参考答案的第13条语句,修改两数组元素的大小比较符即可。另外,对于数据交换的整型变量tmp可以自定义其变量名。

\n【参考答案】

\n

\n

34.\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

35.\n【审题关键句】字符替代f(p)=p*11mod256,小于等于32或ASCII码是奇数不变,否则替换。

\n【解题思路】

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

\n【参考答案】

\n

\n

36.\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

37.\n【审题关键句】字符替代f(p)=p*11mod256,小于等于32或原字符对应数字0~9不变,否则替换。

\n【解题思路】

\n本题类似第67套试题,通过审题可以发现主要是排序条件的设置要求有所不同,参考答案的第6行,修改if条件语句的设置即可。本题值得一提的是在设置判断条件的时候,一定要注意两题要求中的两个细微的差别,第67套要求的是新字符所对应的数字是0~9的不变,是对数值型数据进行判断;而本套要求的是原字符所对应的字符是o~9的保持不变,是对字符型数据进行判断,在条件表达式的写法上需要大家注意区分。

\n【参考答案】

\n

\n

38.\n【审题关键句】Xn+1=cos(Xn)的迭代计算。

\n【解题思路】

\n①因为方程cos(x).x=0的根为实数,所以定义两个双精度型变量x0,x1。并把变量x1的初值设为0.0。

\n②根据题目中给出的求方程一个实根的迭代算法,在while循环中,首先把变量x1的值赋给x0,然后利用表达式cos(xO)

\n求出一个值x1,再调用vc6.0的求绝对值的库函数fabs0,判断如果x0与x1差的绝对值小于0.000001,就认为x1的值是方程cos(x).x=0的一个实根,此时退出循环,把xl的值返回。

\n【参考答案】

\n

39.\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

40.\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③最后,返回子字符串

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论