【2021年】黑龙江省绥化市全国计算机等级考试网络技术真题(含答案)

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

【2021年】黑龙江省绥化市全国计算机等级考试网络技术真题(含答案) 学校:________ 班级:________ 姓名:________ 考号:________
一、单选题(10题)
1.以下哪个协议不属于应用层协议( )。

A.TELNET
B.ARP
C.HTTP
D.FTP
2.在一台Cisco路由器的g3/1端口封禁端口号为139的TCP和端口号为1434的UDP连接,并封禁ICMP协议,只允许212.15.41.0/26子网的ICMP数据包通过路由器,正确的access-list配置是()。

3.下列关于接入技术特征的描述中,正确的是()。

A.APON是一种无线接入技术
B.ADSL技术具有对称带宽特性
C.IEEE802.11b将传输速率提高到54Mbit/s
D.CableModem利用频分复用的方法将信道分为上行信道和下行信道
4.在IEEE 802.11b点对点模式中,唯一需要的无线设备是()。

A.无线接入点
B.无线路由器
C.无线网卡
D.无线网桥
5.通过KDC分配公用密钥时需要解决的主要问题是()
A.密钥的认证
B.密钥的保密
C.密钥的生成
D.密钥的撤销
6.)Internet中有一种设备,它是网络与网络之间相互连接的桥梁,这种设备是( )。

A.客户机
B.路由器
C.服务器
D.主机
7.
8.下面关于城名系统说法正确的是( )。

A.域名系统是网状结构的,按组织棋式和地理模式划分的域名彼此交叉
B.域名系统的所有管理权都集中在NIC
C.域名服务器可以进行域名/IP地址转换
D.域名解析是从小到大,由底向上进行的
9.
10.SQL注入攻击是从正常的()号端口访问,而且表面看起来跟一般的Web页面访问没什么区别。

A.80
B.8080
C.23
D.21
二、填空题(10题)
11.(12)一个路由器的两个IP地址为20.0.0.6和30.0.0.6,其路由表如下所示。

当收到源IP地址为40.0.0.8,目的IP地址为20.0.0.1的数据报时,它将把此数据报投递到。

(要求写出具体的IP地址)____________
12. 多媒体软件包括多媒体播放软件和______。

13.网络安全策略主要包括技术和制度两个方面。

它的制定涉及网络使用与管理制定和两方面的内同。

14. IIS 6.0使用________ 的方法在一台服务器上可以构建多个网站。

15. 计算机网络层次结构模型和各层协议的集合叫做计算机网络【】。

16.100Base-TX网络采用的物理拓扑结构为。

17. 观看视频时,如果人物说话的口型与声音不吻合,观众就会觉得很不舒服。

这种音频流与视频流之间的同步称为______。

18. 光导纤维通过内部的全反射来传输一束经过编码的【】。

19.(14)FTP服务器利用___________来控制用户对服务器的访问权限。

20.
三、2.填空题(8题)
21. 常用的电子支付方式包括【】、电子信用卡和电子支票。

22. 对于复杂的计算机网络协议,最好的组织方式是层次结构模型。

一般将计算机网络层次模型和各层协议的集合定义为______。

23. NetWare提供了4级安全保密机制:注册安全性、用户信任者权限、目录与文件属性和______功能。

24. 电子商务的安全要求包括传输的安全性、交易各方的身份认证、【】和交易的不可抵赖性四个方面。

25. ______是指系统资源受到破坏或变得不能使用。

26. ______是Windows2000Server最重要的新功能之一,它可将网络中各种对象组织起来进行管理,方便了网络对象的查找,加强了网络的安全性,并有利于用户对网络的管理。

27. 在因特网的域名体系中,商业组织的顶级域名是【】。

28. 从介质访问控制技术性质角度来看,CSMA/CD属于______介质访问控制方法,TokenRing和TokenBus则属于确定型介质访问控制方法。

四、C语言程序设计题(2题)
29. 函数RData实现从文件in.dat中读取一篇英文文章存入到字符串数组original中,请编写函数StrCharMove,其函数的功能是:以行为单位把字符串中所有字符的ASCII值右移4位,然后把右移后的字符ASCII值再加上原字符的ASCII值,得到新的字符仍存入原字符串对应的位置上。

最后把已处理的字符串仍按行重新存入字符串数组original 中,最后调用函数WData,把结果original输出到文件out.dat中。

原始数据文件存放的格式是:每行的宽度均小于80个字符(含标点符号和空格)。

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

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

30.程序test.C的功能是:计算500~800区间内素数的个数cnt,并按所求素数的值从大到小的顺序,计算其间隔减、加之和,即第l个素数
-第2个素数+第3个素数-第4个素数+第5个素数…的值sum。

请编写函数countValue实现程序的要求,最后main函数调用函数writeDAT0把结果cnt和sum,输出到文件0ut.dat中。

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

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

第2类数位分解并重组后再筛选统计并排序
五、1.选择题(3题)
31. 在TCP/IP应用程序中,以下______命令用于运行外来主机的命令。

A.REXEC
B.FTP
C.Ping
D.TFTP
32. 如果Ethernet交换机有4个100Mbit/s全双工端口和20个10Mbit/s 半双工端口,那么这个交换机的总带宽最高可以达到______。

A.600Mbit/s
B.1000Mbit/s
C.1200Mbit/s
D.1600Mbit/s
33.在以下关于EDI的叙述中,哪种说法是错误的?()。

A.EDI系统全部采用了Web浏览界面
B.EDI系统应实现两个或多个计算机应用系统之间的通信
C.EDI系统之间传输的信息应遵循一定的语法规则和国际标准。

D.EDI系统中的数据应尽可能的自动投递和处理
六、1.程序设计题(3题)
34. 设有n个人坐一圈并按顺时针方向从1到n编号,从第s个人开始进行1到m的报数,报数到第m个人,此人出圈,再从他的下—个人重新开始从1到m报数,如此进行下去直到所有的人都出圈为止。

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

请编制函数Josegh()实现此功能并调用函数WriteDat()把编
设n=100,s=1,m=10进行编程。

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

请勿改动主函数main()和写函数WritsDat()的内容。

试题程序:
#include<stdio.h>
#define N 100
#define S 1
#define M 10
int p[lOO],n,s,m;
void WriteDat(void);
void Josegh(void)
{
}
void main()
{
m=M; n=N; s=S;
Josegh ( );
WriteDat ();
}
void WriteDat(void)
{
int i;
FILE *fp;
fp=fopen ( "OUT59. DAT", "w" );
for (i=N-1; i>=0;i--)
{
printf("%4d",p[i]);
fprintf (fp, "%4d",p [i] );
if (i%10==0)
{
printf ("\n");
fprintf (fp, "\n");
}
}
fclose (fp);
}
35. 读函数readDat()的功能是从文件IN25.DAT中读取20行数据存放到字符串数组xx中(每行字符串长度均小于80)。

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

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

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

例如:位置0 1 2 3 4 5 6 7 8
源字符串d c b a h g f e
4 3 2 1 9 8 7 6
处理后字符串h g f e a b c d
9 8 7 6 1 2 3 4
注意:部分源程序已给出。

请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。

试题程序:
#include 〈stdio.h>
#include 〈string.h>
#include 〈conio.h>
char xx[20] [80];
void jsSort()
{
}
main ( )
{
readDat ();
jsSort ();
writeDat ();
}
readDat ( )
{
FILE *in;
int i=0;
char *p;
in = fopen("IN25.DAT", "r");
while(i〈20 && fgets(xx[i], 80, in) != NULL)
{
p = strchr(xx[i], '\n');
if(p) *p = 0;
i++;
}
fclose(in);
}
writeDat ()
{
FILE *out;
int i;
clrscr ();
ut = fopen("OUT25.DAT", "w");
for(i=0; i〈20; i++)
{
printf("%s\n", xx[i]);
fprintf(out, "%s\n", xx[i]);
}
fclose (out);
}
36. 已知数据文件IN60.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数JsVal(),其功能是:把千位数字和十位数字重新组合成一个新的十位数ab(新十位数的十位数字是原4位数的千位数字,新十位数的个位数字是原4位数的十位数字),以及把个位数和百位数组成另一个新的十位数cd(新十位数的十位数字是原4位数的个位数字,新十位数的个位数字是原4位数的百位数字),如果新组成的两个十位数ab<cd,ab必须是奇数且不能被5整除,
cd必须是偶数,同时两个新十位数字均不为零,则将满足此条件的4位数按从大到小的顺序存入数组b中,并要计算满足上述条件的4位数的个数cnt,最后调用写函数writeDat()把结果ont及数组b中符合条件的4位数输出到OUT60.DAT文件中。

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

程序中已定义数组:a[200],b[200],已定义变量:cnt。

请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。

试题程序:
#include<stdio.h>
#define MAX 200
int a[MAX],b[MAX],cnt=0;
void jsVal( )
{
}
void readDat()
{
int i;
FILE rfp;
fp=fopen (" IN60. DAT", "r" );
for (i=0; i<MAX; i++)
fscanf (fp, "%d", &a Ii] );
fclose (fp);
}
main ( )
{
int i;
readDat ();
jsVal ();
printf ("满足条件的数=%d\n", cnt);
for (i=0; i<cnt; i++)
printf("%d\n",b[i]);
printf ("\n");
writeDat ();
}
writeDat ()
{
FILE *fp;
int i;
fp=fopen ("OUT60. DAT", "w");
fprintf (fp, "%dkn", cnt);
for (i=0; i<cnt; i++)
fprintf(fp, "%d\n",b[i]);
fclose(fp);
}
参考答案
1.BARP是地址解析协议,用来实现IP地址到物理地址的转换,不属于应用层协议;其余均属于应用层协议,其中Telnet是远程登录协议,HTTP是超文本传输协议,FTP是交换式文件传输协议。

2.D①在路由器上使用访问控制列表(AccessControlList,ACL)时需要注意ACL语句的顺序,因为路由器执行哪条ACL语句是按照配置的ACL 中的条件语句,从第一条开始顺序执行。

数据包只有在跟第一个判断条件不匹配时,才能交给ACL中的下一个语句进行比较。

②ipaccess-list 语法格式:ipaccess-listextended|standardACL表号或者表名。

③extanded 多用于协议端口配置,而standard多用于IP地址配置。

④permit|deny 协议名源端地址源端反掩码目的端地址目的端反掩码。

⑤配置完访问
控制列表之后,还应该在端口上配置数据包的进和出。

其语法格式是:ipaccess-groupACL表号或表名(该表号或名称应该与第2步中的表号一致)in/out(in代表数据进入,out代表数据的输出)。

选项A中第二行错误,没有使用子网掩码的反码,选项B中第二行错误,子网掩码反码计算错误,应该是O.0.0.63。

由于是对协议端口配置,应该使用extanded 关键字,C选项错误。

故选D选项。

3.D802.11a将传输速率提高到54Mbit/s,802.11b最高传输速率到11Mbit/s。

ADSL(非对称数字用户线)技术具有非对称带宽特性,上行速率在64kbit/s~640kbit/s,下行速率在500kbit/s~7Mbit/s。

APON 是一种光纤接人技术。

4.C无线接入点:这个设备的基本功能是集合无线或者有线终端,其作用类似于有线局域网中集线器和交换机。

无线路由器:无线路由器是具有无线路由功能的AP(Ac—tess Point,接入点),一般情况下具有NA T 功能,可以用它建立一个小的无线局域网。

无线网卡:无线局域网中最基本的硬件,主要实现点对点通信。

无线网桥:主要用于连接几个不同的网段,实现较远距离的无线通信。

故选择C选项。

5.A解析:在不对称密钥体制中,公用密钥是公开的,按理说分发公钥是不需要保密的。

然而,为了防止公用密钥被篡改和伪造,对其完整性的保证是不可少的。

目前人们通过KDC分配公用密钥时,采用的是利用证书权威机构签发的数字证书来分发公用密钥。

数字证书必定包含某一用户的身份识别、该用户的公用密钥以及权威机构的数字签名等信息。

用以证明该证书和用户的公用密钥的有效性。

6.B
7.C
8.C
9.C
10.A
11.(12) 20.0.0.1 【解析】一个路由表通常包含许多(N,R)对序偶,其中N指目的网络的IP地址,R是网络N路径上的“下一个”路由器的lP地址。

本题中,目的lP地址为20.0.0.1,属于A类网络地址,其网络地址为20.0.0.0,因此路由器收到该IP数据包按照路由表的第一个(N,R)对序偶下一路由选择为“直接投递”,即直接投递给接收主机,因此投递的IP地址为:20.0.0.1。

12.多媒体制作软件多媒体制作软件解析:多媒体软件包括多媒体播放软件和多媒体制作软件。

其中多媒体制作软件包括文字编辑软件、图像处理软件、动画制作软件、音频处理软件、视频处理软件和多媒体创作软件。

13.网络防火墙的设计原则【解析】网络安全策略的制定涉及网络使用、管理制定和网络防火墙的设计原则两方面的内容。

14.\n虚拟服务器
\n
15.体系结构体系结构解析:本题考查点是计算机网络体系结构的定义。

计算机网络的通信功能被分解到若干层次中分别定义,并且各层对等实体之间存在着通信和通信协议。

下层通过层间“接口”向上层提供“服务”。

一个功能完备的计算机网络需要一套复杂的协议集。

计算机网络的所有功能层次、各层次的通信协议以及相邻层间接口的集合称为网络体系结
构。

构成网络体系结构的分层、协议和接口是其三要素,可以表示为:网络体系结构={分层、协议、接口}需要指出的是,网络体系结构说明了计算机网络层次结构应如何设置,并且应该如何对各层的功能进行精确的定义。

它是抽象的,而不是具体的,其目的是在统一的原则下来设计、建造和发展计算机网络。

网络体系结构仅给出一般性指导标准和概念性框架,至于用何种硬件和软件来实现定义的功能,则不属于网络体系结构的范畴。

可见,对同样的网络体系结构,可采用不同的方法,设计完全不同的硬件和软件来实现相应层次的功能。

16.星型本题主要考查网络拓扑结构的选择,需要考生了解各种拓扑结构的优缺点。

网络拓扑结构按照几何图形的形状可分为4种类型:总线拓扑、环型拓扑、星型拓扑和网状拓扑。

这些形状也可以混合,构成混合拓扑结构。

不同的网络拓扑结构适用于不同规模的网络。

下面分别对上述4种网络拓扑结构进行简单的介绍。

— 总线拓扑结构由单根电缆组成,该电缆连接网络中所有的节点。

单根电缆称为总线,由于它只能支持一种信道,因此所有节点共享总线的全部带宽。

在总线网络中,当一个节点向另一个节点发送数据时,所有节点都将被动地侦听该数据,只有目标节点才会接收并处理发送给它的数据,其他节点将忽略该数据。

基于总线拓扑结构的网络很容易实现,且组建成本很低,但扩展性较差。

当网络中的节点数量增加时,网络的性能将会下降。

此外,总线网络的容错能力较差,总线上的某个中断或故障将会影响整个网络的数据传输。

因此,很少有网络单纯地采用总线拓扑结构。

— 在环型拓扑结构中,每个节点与和它最近的两个节点相连接,使整个网络形成一个环型,数据沿着环向一个方向发送。

环中的每个节点如同一个能再生和发送信号的中继器,它们接收环中传输的数据,再将其转发到下一个节点。

与总线拓扑结构相同,当环中的节点数量增加时,响应时间也会相应变长。

由此可见,单纯的环型拓扑结构非常不灵活,不易于扩展。

此外,在一个简单的环型拓扑结构中,如果单个节点或一处电缆发生故障,将会造成整个网络的瘫痪。

也正因此,一些网络采用双环结构来提供容错能力。

— 在星型拓扑结构中,网络中的每个节点通过一个中央设备(如集线器)连接在一起。

网络中的每个节点将数据发送给中央设备,再由中央设备将数据转发到目标节点。

一个典型的星型网络拓扑结构所需的线缆和配置稍多于环型或总线网络。

由于在星型网络中,任何单根电缆只连接两个设备(如一个工作站和一个集线器),因此一处电缆问题最多影响两个节点,单根电缆或单个节点发生故障不会导致整个网络通信的中断。

但是,中央设备的故障将会造成一个星型网络的瘫痪。

由于使用中央设备作为连接点,所以星型拓扑结构可以很容易地移动、隔绝或进行与其他网络的连接,这使得星型拓扑结构易于扩展。

因此,星型拓扑是目前局域网中最常用的一种网络拓扑结构,现在的以太网大都使用星型拓扑结构。

— 在网状拓扑结构中,每两个节点之间都直接连接的。

网状拓扑常用于广域网,其中的节点指地理场所。

由于每个节点之间都是直接连接的,所以数据能够从发送地直接传输到目的地。

如果一个连接出了问题,可
以简单、迅速地更改数据的传输路径。

由于为两点之间的数据传输提供了多条链路,因此,网状拓扑是最具容错性的网络拓扑结构。

综上所述,100Base-TX网络采用的物理拓扑结构应该为星型拓扑结构。

17.唇同步唇同步解析:唇同步要求音频与视频之间的偏移在±80ms内,这样每数观众不会感到偏移的存在。

18.光信号光信号解析:光导纤维通过内部的全反射来传输一束经过编码的光信号。

19.(14)用户账号
【解析】FTP服务器利用用户账号来控制用户对服务器的访问权限。

20.
21.电子现金电子现金解析:电子支付工具包括了电子现金、电子信用卡和电子支票等。

在电子商务活动中,客户通过计算机终端上的浏览器访问商家的Web服务器,进行商品或服务的订购,然后通过电子支付工具与商家进行结算。

22.网络体系结构网络体系结构解析:网络协议是计算机网络通信的要素之一,一个功能完备的计算机网络需要制定一整套复杂的协议集。

而对于复杂的计算机网络协议,最好的组织方式是层次结构模型。

计算机网络层次模型和各层协议的集合定义一般被定义为网络体系结构。

23.最大信任者权限屏蔽最大信任者权限屏蔽解析:基于网络安全的考虑,NetWare提供了4级安全保密机制:注册安全性、用户信任者权限、最大信任者权限屏蔽和目录与文件属性。

24.数据的完整性或数据完整性数据的完整性或数据完整性解析:数据传输的安全性。

保证数据传输的安全性就是要保证在公共因特网上
传送的数据信息不被第三方监视和窃取。

数据的完整性。

保证数据的完整性就是要保证在公共因特网上传送的数据信息不被篡改。

身份认证。

在电子商务活动中,交易的双方或多方常常需要交换一些敏感信息,这时就需要确认对方的真实身份。

交易的不可抵赖。

电子商务交易的各方在进行数据信息传输时,必须带有自身特有的、无法被别人复制的信息,以防发送方否认和抵赖曾经发送过该消息,确保交易发生纠纷时有所对证。

25.中断中断解析:中断是对可用性的攻击,是指系统资源受到破坏或变得不能使用。

26.活动目录服务活动目录服务解析:活动目录服务是Windows2000Server最重要的新功能之一,它可将网络中各种对象组织起来进行管理,方便了网络对象的查找,加强了网络的安全性,并有利于用户对网络的管理。

COM 解析:DNS把整个因特网划分成多个域,称为顶级域,并为每个顶级域规定了国际通用的域名,com代表商业组织。

28.随机型随机型解析:从介质访问控制技术性质角度来看,CSMA/CD 属于随机型介质访问控制方法,而TokenRing和TokenBus则属于确定型介质访问控制方法。

29.【审题关键句】以行为单位把所有字符的ASCII值右移4位,后把右移后的字符ASCII值再加上原字符的ASCII值,得到新的字符。

\n【解题思路】
\n①首先定义循环变量i、j和表示字符串长度的整型变量strl。

\n②在第一层for循环中,循环变量i从0开始,依次递增直到其值等于或大于maxline,在循环体中,首先用函数strlen(original[i])计算字符串original[i]的长度,把这个值赋给整型变量strl。

在第二层for循环中,循环变量j从0开始,依次递增直到其值等于或大于strl,利用表达式original[i][j]+=original[i][j]>>4实现对字符original[i][j]的ASCII码值右移4位后所得到值与原字符original[i][j]的ASCII码值相加,仍存入原字符串对应的位置上的功能。

\n【参考答案】
\n
30.【审题关键旬】计算500~800区间内素数的个数,素数的值从大到小排序,再计算其间隔减、加之和,即第l个素数-第2个素数+第3个素数-第4个素数+第5个素数……的值。

\n【解题思路】
\n①首先定义一个循环变量循环i和用于正负号转换的变量j,同时赋j 的初值为-1。

\n②通过for循环对800到500的每个数字进行逐个的扫描,指定循环变量i的初值为800,当i值等于500停止循环,每执行一次循环,i的值便减l。

(注意,本题for循环从大到小依次读取数据是根据题目要求设计的,这样得到的素数值其排序方式就是从大到小排序。

)
\n③在每次执行for循环时,都调用素数判断函数isPrime判断当前的i 值是否为素数,如果是素数,则素数计数变量cnt值加1,正负号转换变量j的值乘以-1,实现正负数的交替转换,最后将每次循环得到的i*j
的值累加到求和变量sum中。

\n【参考答案】
\n\n
\n\t
\n
\n第2类数位分解并重组后再筛选统计并排序
31.A解析:在TCP/IP应用程序中,REXEC用于运行外来主机的命令。

32.B解析:总带宽;4*100*2+20*10=1 000 Mbit/s。

33.A解析:电子数据交换(EDI) \n是按照协议对具有一定结构特征的标准信息,经过数据通信网络,在计算机系统之间进行交换和自动处理,即EDI用户根据国际通用的标准格式编制报文,以机器可读的方式将结构化的信息,按照协议标准化文件通过计算机网络发送。

报文接收方按国际统一规定的语法规则,对报文进行处理,通过信息管理系统和作业管理决策支持系统,完成综合自动交换和处理。

34.void Josegh(void) { int i jkslw; s1=s; for (i=l; i<=n; i++) /*给n个人从到n编号*/ p[i-1]=i; for (i=n; i>=2; i--) { s1= (s1+m-1) %i; /*下一个开始报数的人的编号是(s1+m-1 )%i*/ if (s1==0) /*若s1为0则说明要开始报数的是最后一个人*/ s1=i; w=p [s1-1]; /*将要出圈的人移至数组的最后*/ for (j=sl; j<=i-1; j++) p[j-1]=p[j]; p[i-1]=w; } }void Josegh(void)\r\n {\r\n int i, j,k,sl,w;\r\n s1=s;\r\n for (i=l; i<=n; i++) /*给n个人从到n编号*/\r\n p[i-1]=i;\r\n for (i=n; i>=2; i--)\r\n {\r\n s1= (s1+m-1) %i; /*下一个开始报数的人的编号是(s1+m-1 )%i*/\r\n if (s1==0) /*若s1为0,则说明要开始报数的是最后一个人*/\r\n s1=i;\r\n w=p [s1-1]; /*将要出圈的人移至数组
的最后*/\r\n for (j=sl; j<=i-1; j++)\r\n p[j-1]=p[j];\r\n p[i-1]=w;\r\n }\r\n } 解析:本题考查的知识点如下:
(1)将数组建成环。

(2)运算符“%”的使用。

(3)循环的嵌套使用。

此题是著名的“约瑟夫环”问题。

首先要将每个人的编号存入数组。

因为每次是从s1开始报数,若是直线队则下一个开始报数的人的编号是s1+m-1,但这里要建立一个环,即最后一个人报完数后第一个人接着报数。

所以这时下一个开始报数的人的编号足(s1+m-1)%i,i是此时圈中的总人数。

若所得的结果为0,则说明要开始报数的是最后一个人。

在此人前面的那个人就是要出圈的人,使用循环将要出圈的人移至数组的最后。

开始时,总人数为n,以后依次减1,直到最后一个人出圈。

35.void jsSort() { int ijkstrlhalf; char ch; for(i=0;i〈20;i++) { strl=strlen(xx[i]); /*求字符串的长度*/ half=str1/2; /*确定各行中字符串的中间位置*/ for(j=0;j〈half-1;j++) /*对中间位置以前的字符进行升序排序*/ for(k=j+1;k〈half;k++) if (xx[i][j]>xx[i][k]) { ch=xx[i][j]; xx[i][j]=xx[i][k]; xx[i][k]=ch; } for(j=half-1k=str1-1;j>=0;j--k--) /*将左边部分与右边部分对应的字符进行交换*/ { ch=xx[i][j]; xx[i][j]=xx[i][k]; xx[i][k]=ch; } } }void jsSort()\r\n { int i,j,k,strl,half;\r\n char ch;\r\n for(i=0;i〈20;i++)\r\n { strl=strlen(xx[i]); /*求字符串的长度*/\r\n half=str1/2; /*确定各行中字符串的中间位置*/\r\n for(j=0;j〈half-1;j++) /*对中间位置以前的字符进行升序排序*/\r\n for(k=j+1;k〈half;k++)\r\n if
(xx[i][j]>xx[i][k])\r\n { ch=xx[i][j];\r\n xx[i][j]=xx[i][k];\r\n xx[i][k]=ch;\r\n }\r\n for(j=half-1,k=str1-1;j>=0;j--,k--) /*将左边部分与右
边部分对应的字符进行交换*/\r\n { ch=xx[i][j];\r\n xx[i][j]=xx[i][k];\r\n xx[i][k]=ch;\r\n }\r\n }\r\n } 解析:本题考查对二维字符数组的处理。

由于对二维字符数组的操作是按照先行后列的顺序,因此,需要首先求得各行字符串的长度(利用求字符串长度的strlen()函数),然后借助循环结构逐个访问各行中的每一个字符。

在本题中,应先确定各行中字符串的中间位置(长度的一半就是中间位置),然后先对中间位置以前的字符进行升序排序,排序过程如下:依次用每一个位置的字符与它后面的所有字符(到中间位置前一个字符结束)进行比较,如果发现某字符的ASCII 码值小于当前被比较的字符的ASCII码值,则将发现的字符与当前字符进行交换,交换后继续与其后面的字符进行比较。

最终比较所得的结果是第一个位置总是存放着最小的字符,第二个位置总是存放着稍大的字符,以此类推就实现了从小到大的排序功能。

接着要做的工作是把中间位置前的一个位置定为初始位置,字符串中的最后一个位置也视为初始位置,让两个位置所对应的字符进行交换,交换过后,这两个位置值(也就是下标值)分别前移,再进行对应位置字符的交换。

36.void jsVal( ) { int i thou hun ten data j; int ab cd; for (i=0; i<200; i++)
{ thou=a [i] /1000; /*求四位数的千位数字*/ hun=a [i]%1000/100; /*求四
位数的百位数字*/ ten=a [i] %10 0 / 10; /*求四位数的十位数字*/ data=a
[i] % 10; /*求四位数的个位数字*/ ab=10*thou+ten; /*把千位数和十位数
重新组合成一个新的十位数ab* / cd=10*data+hun; /*把个位数和百位数
组成另一个新的十位数cd*/ if ((ab-cd<0) && (ab%2==l) && (ab%5 ! =0 )。

相关文档
最新文档