(2022年)四川省资阳市全国计算机等级考试网络技术测试卷(含答案)

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

(2022年)四川省资阳市全国计算机等级考试网络技术测试卷(含答案) 学校:________ 班级:________ 姓名:________ 考号:________
一、单选题(10题)
1.在Windows Server 2003辛,用于显示主机上活动的TCP连接状况的命令是()。

A.ipconfig/all
B.nbtstat—a
stat—a
view
2.下列关于FTP服务的描述中,错误的是()。

A.使用FTP可以传送任何类型的文件
B.传送文件时客户机和服务器间需建立控制连接和数据连接
C.服务器端发起的连接是数据连接,客户端的端口为20
3.若服务器系统可用性达到99.99%,那么每年的停机时间必须小于等于()。

A.5分钟
B.lO分钟
C.53分钟
D.8.8小时
4.在因特网中,IP数据报的传输需要经由源主机和中途路由器到达目的主机,下面说法正确的是()。

A.源主机和中途路由器都知道lP数据报到达目的主机需要经过的完整路径
B.源主机知道IP数据报到达目的主机需要经过的完整路径,而中途路
由器不知道
C.源主机不知道IP报到达目的主机需要经过的完整路径,而中途路由器知道
D.源主机和中途路由器都不知道lP数据报到达目的主机需要经过的完整路径
5.下列关于网络接入技术和方法的描述中,错误的是()。

A.“三网融合”中的三网是指计算机网络、电信通信网和广播电视网
B.宽带接入技术包括xDSL、HFC、SDH、无线接入等
C.无线接入技术主要有WLAN、WMAN等
D.Cable Modem的传输速率可以达到10一36Mbps
6.以下不属于身份认证协议的是()。

A.一次一密机制
B.X.509认证协议
C.Kerberos认证协议
D.IPSec协议7.
8.端口扫描是向目标主机()服务端口发送探测数据包,并记录目标主机的响应。

A.OSI
B.TCP/IP
C.ATM
D.X.25
9. 下列关于处理芯片的描述中,正确的是( )。

A.奔腾芯片是32位的
B.双核奔腾芯片是64位的
C.超流水线技术内置
多条流水线D.超标量技术可细化流水
10.下列关于接人技术特征的描述中,错误的是()。

A.光纤传输系统的中继距离可达100km以上
B.Cable Modem利用频分复用的方法,将信道分为上行信道和下行信道
C.ADSL技术具有非对称带宽特性
D.802.11b将传输速率提高到54Mbps
二、填空题(10题)
11.(8)网桥可以通过_________过滤和转发帧隔开网段中的流量。

12.
13.(2)对于机架式服务器,通常根据机箱的高度细分为1U/2U/3U/4U/5U/6U/7U/8U等规格,其中1U相当于____ mm。

14. 计算机应用技术领域包括科学计算、事务处理、过程控制、辅助工程、______、网络应用和多媒体的应用等七大领域。

15.
第79 题___________即公共管理信息协议,是IS0定义的网络管理协议
16.(19)QQ客户端间进行聊天有两种方式。

一种是客户端直接建立连接进行聊天,另一种是用服务器_________的方式实现消息的传送。

17. 在软磁盘存储器中,软磁盘适配器是______。

18.在TCP/IP网络中,为各种公共服务保留的端口号范围是。

19.Token Bus是一种在总线拓扑中利用“”作为控制节点访问公共传输介质的确定型介质访问控制方法。

20.目前宽带网络中采用“光纤同步数字传输体系”的英文缩写是【9】。

三、2.填空题(8题)
21. 一个端到端的IPTV系统具有______、存储与服务、节目传送、用户终端设备和相关软件5个功能部件。

22. 常用的电子支付方式包括【】、电子信用卡和电子支票。

23. 机器语言全部都是______,它是计算机能惟一识别的语言,可在计算机上直接执行。

24. 早期ARPANET中通信控制处理机由______承担。

25. 计算机网络OSI参考模型中的7个层次从高层至低层分别是:应用层、表示层、会话层、运输层、网络层、【】层和物理层。

26. NSFNET采用的是一种【】结构,分为主干网、地区网和校园网。

27. IP具有两种广播地址形式,它们是______广播地址和有限广播地址。

28. TCP可以为其用户提供【】、面向连接的、全双工的数据流传输服务。

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

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

程序中已定义数组:a[200],b[200],已定义变量:cnt
请勿改动数据文件in.dat中的任何数据、主函数main、读函数readDat 和写函数writeDat的内容。

30.已知数据文件in.dat中存有200个四位数,并已调用读函数readDat 把这些数存入数组a中,请考生编制一函数jsVal,其功能是:依次从数
组a中取出一个四位数,如果该四位数大于该四位数以后的连续五个数且该数是奇数(该四位数以后不满五个数,则不统计),则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat把结果cnt以及数组b中符合条件的四位数输出到out.dat文件中。

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

程序中已定义数组:a[200],b[200],已定义变量:cnt
请勿改动数据文件in.dat中的任何数据、主函数main、读函数readDat 和写函数writeDat的内容。

五、1.选择题(3题)
31. SDH的模块信号STM-4的速率是( )。

A.100Mbps
B.2.5Gbps
C.622.080Mbps
D.155.520Mbps
32. 下列叙述中,错误的是( )。

A.多媒体技术是对文本、声音、图形、图像进行处理、传输、存储、播放的集成技术
B.JPEG是关于彩色运动图像的国际标准
C.多媒体播放视频与音频不能吻合时,可以采用“唇”同步技术
D.超文本是非线性的,读者可以根据自己的兴趣决定阅读哪一部分内容
33. IEEE?802.3u标准对802.3的物理层作了调整,其目的是使得物理层在实现100Mbps速率时所使用的传输介质和信号编码方式的变化不会影响
A.LLC子层
B.网络层
C.MAC子层
D.传输层
六、1.程序设计题(3题)
34. 已知数据文件1N69.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:把一个4位数的千位数上的值减百位数上的值再减十位数上的值最后减个位数上的值,如果得出的值大于等于零且此4位数是奇数,则统计出满足此条件的数的个数cnt并把这些4位数存入数组b中,然后对数组b的4位数按从小到大的顺序进行排序,最后调用函数writeDat()把结果cnt及数组b中的符合条件的4位数输出到out69.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 *fp;
fp=fopen ("IN69. DAT", "r");
for ( i=0; i<MAX; i++)
fscanf(fp,"%d",&a[i]);
fclose (fp);
}
void main ()
{
int i;
readDat ();
jsVal ();
printf ("满足条件的数=%d\n", cnt);
for (i=0; i. printf ("%d", b [i] );
printf ("\n");
wrfteDat ();
}
writeDat ()
{
FILE *fp;
iht i;
fp=fopen ("out69.dat", "w");
fprint f (fp, "%d\n", cnt);
for (i=0; i<cnt; i++)
fprint f (fp, "%d\n", b [i] );
fclose (fp);
}
35. 已知IN7.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:依次从数组a 中取出一个数,如果该4位数连续大于该4位数以后的5个数且该数是奇数,则统计出满足此条件的数的个数ont,并把这些4位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT7.DAT文件中。

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

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

试题程序:
#include <stdio.h>
#define MAX 200
int a[MAX], b[MAX], cnt = 0;
void writeDat();
void jsVal()
{
}
void readDat ()
{
int i;
FILE *fp;
fp = fopen("IN7.DAT", "r");
for(i = 0; i <MAX; i++) fscanf(fp, "%d", &a[i]);
close (fp);
}
main ( )
{
int i;
readDat ();
jsVal ();
printf("满足条件的数=%d\n", cnt);
for(i=0; i <cnt; i++) printf("%d ", b[i]);
printf ("\n");
writeDat ();
}
void writeDat()
{
FILE *fp;
int i;
fp = fopen("OUT7.DAT", "w");
fprintf(fp, "%d\n", cnt);
for(i = 0; i <cnt; i++) fprintf(fp, "%d\n", b[i]);
fclose (fp);
}
36. 已知数据文件IN86.DAT中存有200个4位数,并已调用读函数
readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:把千位数字和十位数字重新组合成一个新的十位数ab(新十位数的十位数字是原4位数的千位数字,新十位数的个位数字是原4位数的十位数字),以及把个位数字和百位数字组成另一个新的十位数cd(新十位数的十位数字是原4位数的个位数字,新十位数的个位数字是原4位数的百位数字),如果新组成的两个十位数ab>cd,ab必须是偶数且能被5整除,cd必须是奇数,同时两个新十位数字均不为0,则将满足此条件的4位数按从大到小的顺序存入数组b中,并要计算满足上述条件的4位数的个数cnt,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT86.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 *fp;
fp=fopen ("IN86. DAT", "r");
for (i=0; i<MAX;i++)
fscanf (fp, "%d", &a [i] );
fclose (fp);
main
{
int i;
readDat ();
jsVal ();
printf ("满足条件的数=%d\n", cnt);
for (i=0; i<cnt; i++)
printf("%d",b[i]);
printf ("\n");
writeDat ();
}
writeDat ()
{
FILE *fp;
int i;
fp=fopen ("OUT85. DAT", "w");
fprintf (fp, "%d\n", cnt)
for (i=0;i<cnt; i++)
fprintf(fp, "%d\n",b[i]);
fclose (fp);

参考答案
1.Cipconfig/all用于显示全部的TCP/IP网络配置。

nbtstat—a用于显示使用远程计算机的基于TCP/IP的NetBIOSde统计和连接信息。

netstat—a用于显示主机上活动的TCP连接状况。

net view用于显示域列表、计算机列表或指定计算机上共享资源列表,故选择C选项。

2.CFTP是文件传输协议,允许用户从服务器上获取文件副本,或者将
本地计算机上的一个文件上传到服务器。

FTP采用的是客户机/服务器工作方式。

传输文件时,为了分开数据流和控制流,服务器和客户机间需要建立控制连接和数据连接。

当客户机向服务器发起连接请求时,服务器端的默认端口为2l。

服务器端在接收到客户端发起的控制连接时,控制进程创建一个数据传送进程,其端口为20,与客户端提供的端口建立数据传输的TCP连接,故选择C选项。

3.C如果系统高可靠性达到99.9%,那么每年的停机时间≤8.8小时;系统高可靠性达到99.99%,那么每年的停机时间≤53分钟;如果系统高可靠性达到99.999%,那么每年的停机时间≤5分钟。

4.D对于IP网络,是采用数据报方式,因此对于源主机和中途路由器都不会知道数据报经过的完整路径,路由器仅知道到达目的地址的下一跳地址,主机仅知道到达本地网络的路径,到达其他网络的数据报均转发到网关的地址,也就是路由器,因此源主机和中途路由器都不知道IP数据报到达目的主机需要经过的完整路径。

5.B从实现技术的角度,目前宽带接入技术主要有以下几种:数字用户线xDSL技术、光纤同轴电缆混合网HFC技术、光纤接入技术、无线接入技术与局域网接入技术。

其中无线接入又可以分为无线局域网接入、无线城域网接入与无线Ad hoc接入。

B选项中的SDH指的是同步数字体系,不属于具体的网络接入技术。

因此选择B选项。

6.D
7.D
8.B
9.A
10.D光纤传输信号可通过很长的距离,无需中继。

例如T1线路的中继
距离为1.7 km,典型的CATV网络要求在同轴电缆上每隔500~700 m 加一个放大器,而光纤传输系统的中继距离可达100 km以上。

Cable Modom使计算机发出的数据信号与电缆传输的射频信号实现相互之间的转换,并将信道分为上行信道和下行信道。

ADSL提供的非对称宽带特性,上行速率为64 Kbps~640 Kbps,下行速率为500 Kbps~7 Mbps。

802.11b定义了使用直序扩频技术,传输速率为1 Mbps、2 Mbps、5.5Mbps与11Mbps的无线局域网标准。

将传输速率提高到54 Mbps的是802.11a和802.119,而802.11b只是将传输速度提高到llMbps。

11.(8)帧地址
【解析】网桥可以通过帧地址过滤和转发帧隔开网段中的流量。

12.
13.(2) 44
【解析】对于机架式服务器而言,U是—个高度单位,1U相当于44mm。

14.人工智能人工智能解析:概括起来,计算机应用技术领域包括科学计算、事务处理,过程控制、辅助工程、人工智能、网络应用和多媒体的应用等七人领域。

15.CMIP
【解析】ISO制定的公共管理信息协议(CMIP),主要是针对0SI模型的传输环境设计的。

16.(19)转发
【解析】QQ客户端间进行聊天有两种方式。

一种是QQ客户端之间直接建立TCP或UDP连接进行聊天交互,另一种是当客户端之间无法直接通信时,采用通过服务器转发的方式来实现即时信息的传送。

17.软盘驱动器与CPU进行信息交换的通道口软盘驱动器与CPU进行
信息交换的通道口解析:软磁盘存储器主要有软磁盘、软盘驱动器和软磁盘适配器组成。

软磁盘适配器是CPU与软盘驱动器进行信息交换的通道口。

18.1024~65535本题考查端口的基本知识。

TCP/IP提出了“协议端口”的概念,以标识两个实体间通信的进程。

端口就是在传输层与应用层的层间接口上所设置的一个16位的地址量,用于指明传输层与应用层之间的服务访问点,为应用层进程提供标识。

TCP/IP协议集将端口分成两大类,一类称为熟知端口(也称保留端口),另一类称为自由端口(也称一般端口)。

熟知端口指这类端口的服务是事先规定好的,并为所有用户进程熟知,端口号范围为0~1023,常见的有FTP端口21、Telnet端口23、SMTP端口25、DNS端口53、TFTP 端口69、HTML端口80、SNMP端口161。

网络运行时,应用层中各种不同的常用服务的服务进程会不断地检测分配给它们的熟知端口,以便发现是否有某个用户进程要和它通信。

自由端口是指那些可以随时分配给请求通信的用户进程的端口,端口号范围为1024~65535。

TCP/IP 协议为各种服务提供的端口号范围是1~65535,为各种公共服务保留的端口号范围是1024~65535。

19.令牌Token Bus(令牌总线)是一种在总线拓扑中利用令牌控制节点访问公共传输介质的确定型介质访问控制方法。

在采用Token Bus方法的局域网中,任何一个节点只有在取得令牌后才能使用共享总线发送数据。

令牌是一种具有特殊结构的控制帧,用来控制节点对总线的访问权。

20.SDH采用光纤物理传输线路能解决宽带传输网的大容量、长距离和
可靠传输问题。

1988年ITU-T接受了“同步光纤网络”SONET.的概念,重新命名为“同步数字全系'SDH.。

SDH和SONET在细节规定上有微小差异,SDH是将同步信息传输、复用、分插和交叉连接功能融为一体的结构化网络,具有强大的网络管理和维护功能,能灵活地支持多种业务。

它不仅适用于光纤,也适用于微波和卫星传输。

在传输网中,目前采用的是同步数字体系SDH。

21.节目采集节目采集解析:一个端到端的IPTV系统一般具有节目采集、存储与服务、节目传送、用户终端设备、相关软件5个功能部件。

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

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

23.二进制代码二进制代码解析:机器语言使用最贴近机器硬件的二进制代码,它是计算机能惟一识别的语言,可以在计算机上直接执行。

24.接口报文处理机或IMP接口报文处理机或IMP 解析:在早期的ARPANET中,承担通信控制处理机功能的设备是接口报文处理机(IMP)。

25.数据链路或链路或Datalink数据链路或链路或Datalink 解析:网络的OSI参考模型分为以下7层:应用层、表示层、会话层、传输层、网络层、数据链路层和物理层。

26.层次型层次型解析:NSFNET采用的是一种层次型结构。

27.直接直接解析:IP具有两种广播地址形式,它们是直接广播地址和
有限广播地址。

28.可靠的可靠的解析:本题考查点是TCP协议提供的服务。

Internet 网络中,网络层的IP协议提供不可靠的数据报服务。

数据报在传输过程中可能出现差错、丢失、顺序错乱等现象。

对大多数的应用而言,需要通过TCP协议对IP层进行“弥补”和“加强”,以便为上层应用进程提供一个可靠的(包括传输数据不重复、不丢失、顺序正确)、面向连接的、全双工的数据流传输服务。

29.【审题关键句】千位+十位等于百位+个位,且四位数是偶数,统计出满足此条件的个数,并把这些四位数按从小到大的顺序存入数组。

\n【解题思路】
\n本题类似第9套试题,通过审题可以发现仅有一个不同点,即要求统计的四位数的条件是“干位+十位=百位+个位”,参考答案的第8条语句,修改if条件语句的判断条件即可。

\n【参考答塞】
\n
30. 【审题关键句】大于后连续5个数,奇数,从小到大排序。

\n【解题思路】本题类似第35套试题,通过审题可以发现主要有两个不同点:①判断数值为奇数,可通过a[i]%2进行判断,参考答案的第4条语句;②要求进行比较的元素大于后连续5个数,因此在设置判断条件时,作为比较的两个数之间应该是大于关系,参考答案的第4条语句。

\n【参考答案】
\n
31.C解析:高等级的STM-N是将STM-1同步复用而成。

4个STM-1构成STM-4。

不管STM-N中N值是多少,各种STM-N的帧长度都是固定的125微秒。

STM-4的速率为4×155.520=622.080Mbps。

32.B解析:JPEG(Joint Photographic Experts Group)是由国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的,适合于连续色调、多级灰度、彩色或单色静止图像的国际标准。

33.C解析:快速以太网的数据传输速率为100Mbps,它保留着传统的10Mbps速率以太网的所有特征,即相同的帧格式、介质访问控制方法CSMA/CD和相同的接口与组网技术,而只是把以太网每个比特发送时间由100ns降低到10ns。

快速以太网标准IEEE802.3u在LLC子层使用IEEE802.2标准,在MAC子层使用CSMA/CD方法,只是定义了新的物理层标准100BASE-To 100BASET标准采用介质独立接口MII,它将MAC子层与物理层分隔开来,使得物理层在实现100Mbps速率时所使用的传输介质和信号编码方式的变化不会影响MAC子层。

34.void jsVal() { iht i thou hun ten data j; for (i=0; i<MAX;i++) thou=a
[i]/1000; /*求四位数的千位数字*/ hun=a [i] %1000/100; /*求四位数的百位数字*/ ten=a [i] %100/10; /*求四位数的十位数字*/ data=a [i] %10; /*求四位数的个位数字*/ if((thou-hun-ten-data>=0) && a[i]%2==1) /*如果千位数减百位数再减十位数最后减个位数得出的值大于零且此4位数是奇数*/ { b [cnt] =a [i]; /*则将该数存入数组b中*/ cnt++; /*统计满足条件的数的个数*/ } } for (i=0; i for (j=i+1; j<cnt; j++) if (b[i]>b[j])
{ data=b Iii; b[i]=b[j]; b [j] =data; } }void jsVal()\r\n {\r\n iht i, thou, hun, ten, data, j;\r\n for (i=0; i<MAX;i++)\r\n thou=a [i]/1000; /*求四位数的
千位数字*/\r\n hun=a [i] %1000/100; /*求四位数的百位数字*/\r\n ten=a [i] %100/10; /*求四位数的十位数字*/\r\n data=a [i] %10; /*求四位数的个位数字*/\r\n if((thou-hun-ten-data>=0) && a[i]%2==1)\r\n /*如果千位数减百位数再减十位数最后减个位数得出的值大于零且此4位数是奇数*/\r\n {\r\n b [cnt] =a [i]; /*则将该数存入数组b中*/\r\n cnt++; /*统计满足条件的数的个数*/\r\n }\r\n }\r\n for (i=0; i for (j=i+1; j<cnt;
j++)\r\n if (b[i]>b[j])\r\n {\r\n data=b Iii;\r\n b[i]=b[j];\r\n b [j] =data;\r\n }\r\n } 解析:本题考查的知识点如下:
(1) “%”与“/”的使用。

(2)循环结构与判断结构的使用。

(3)数据的排序。

本题中,首先借助“%”与“/”将4位数各位上的数拆成独立的数字:将1个4位数整除1000则可得到其干位上的数字,除以1000取余再整除100则可得百位上的数字,除以100取余再整除10则可得十位上的数字,除以10取余则得个位上的数字。

1个数除以2取余所得的数等于1,则此数是奇数。

利用循环结构实现对200个数据的判断。

题中要求将符合条件的4位数按从小到大的顺序存入数组b中,我们可以先将符合条件的4位数存入数组b然后对b中的数进行排序。

排序使用“选择排序法”。

35.void jsVal() { int iiflag=O; int k; for(i=0;i<MAX-5;i++) { for(j=i+1;j <=i+5;j++) /*如果当前数比后面的5个数都大则给标志变量flag赋值1*/{ if (a[i]>a[i]) flag=1; else{flag=O;break;} /*否则给标志变量flag赋值0并退出循环*/if(a[i]%2==0) /*如果该数是偶数也给标志
变量flag赋值0*/flag=0; } if (flag==1) /*将满足条件的数存入数组b中并统计满足条件的数的个数*/{b[cnt]=a[i];cnt++;) } for(i=O;i<cnt-;i++) /*利用选择法对b数组中的元素进行从小到大的排序*/for(i=i+1;;j<cnt;i++) if (b[i]>b[i]) {k=b[i];b[i]=b[j];b[j]=k;) }void jsVal()\r\n {\r\n int i,i,flag=O;\r\n int k;\r\n for(i=0;i<MAX-5;i++)\r\n {\r\n for(j=i+1;j<=i+5;j++) /*如果当前数比后面的5个数都大,则给标志变量\r\n flag赋值1*/\r\n {\r\n if (a[i]>a[i])\r\n flag=1;\r\n else{flag=O;break;} /*否则给标志变量flag赋值0并退出循环*/\r\n if(a[i]%2==0) /*如果该数是偶数,也给标志变量flag赋值0*/\r\n flag=0;\r\n }\r\n if (flag==1) /*将满足条件的数存入数组b中,并统计满足条件的数的个数*/\r\n {b[cnt]=a[i];cnt++;)\r\n }\r\n for(i=O;i<cnt-;i++) /*利用选择法对b数组中的元素进行从小到大的排序*/\r\n for(i=i+1;;j<cnt;i++)\r\n if (b[i]>b[i])\r\n {k=b[i];b[i]=b[j];b[j]=k;)\r\n } 解析:根据题意可知,要编制函数的功能有两部分:一是找出满足条件的4位数,二是对找出的数进行从小到大排序。

首先利用一个for循环来依次从数组中取得4位数,接着用当前得到的4位数与该数后面的5个数依次进行比较,如果该数比后面的5个数都大,则给标志变量flag 赋值1,接着对flag进行判断,如果不为1,则该数肯定不符合条件,直接去取下一个数。

若flag值为1,再来判断该数是否是奇数,如果该数又是奇数,则把该数加入到数组b中。

这样就可以依次取出合条件的数。

然后利用选择法对b数组中的元素进行从小到大的排序。

36.void jsVal() { int ithouhuntendata j; int abcd; for(i=0;i<200;i++)
{ thou=a[i]/l000; /*求四位数的千位数字*/ hun=a [i] %1000/100; /*求四位数的百位数字*/ ten=a [i] %100/10; /*求四位数的十位数字*/ data=a [i]%10; /*求四位数的个位数字*/ ab=thou*10+ten; /*把千位数和十位数重新组合成一个新的十位数字ab*/ cd=data*10+hun; /*把个位数和百位数组合成一个新的十位数字cd*/ if ((ab-cd>0) && (ab%2! =1 &&ab%5==0) &&cd%2==l&&ab! =0&&cd! =0 ) /*如果ab>cdab是偶数且能被5整除cd是奇数且两个数均不为0*/ { b[cnt] =a[i]; /*将满足条件的数存入数组b中*/ cnt++; /*统计满足条件的数的个数*/ } } for (i=0; i<cnt-1; i++) /*将数组b中的数按从大到小的顺序排列*/ for (j=i+l; j<cnt; j++) if (b[i]<b[j]) { data=b [i]; b [i] =b [j]; b [j] =data; } }void jsVal()\r\n {\r\n int i,thou,hun,ten,data, j;\r\n int ab,cd;\r\n for(i=0;i <200;i++)\r\n {\r\n thou=a[i]/l000; /*求四位数的千位数字*/\r\n \u3000 hun=a [i] %1000/100; /*求四位数的百位数字*/\r\n ten=a [i] %100/10; /*求四位数的十位数字*/\r\n data=a [i]%10; /*求四位数的个位数字*/\r\n ab=thou*10+ten; /*把千位数和十位数重新组合成一个新的十位数字ab*/\r\n cd=data*10+hun; /*把个位数和百位数组合成一个新的十位数字cd*/\r\n if ((ab-cd>0) && (ab%2! =1 &&ab%5==0) &&cd%2==l&&ab! =0&&cd! =0 )\r\n /*如果ab>cd,ab是偶数且能被5整除,cd是奇数,且两个数均不为0*/\r\n {\r\n b[cnt] =a[i]; /*将满足条件的数存入数组b中*/\r\n cnt++; /*统计满足条件的数的个数*/\r\n }\r\n }\r\n for (i=0; i<cnt-1; i++) /*将数组b中的数按从大到小的顺序排列*/\r\n for (j=i+l; j<cnt; j++)\r\n if (b[i]<b[j])\r\n {\r\n data=b [i];\r\n b [i] =b [j];\r\n b [j] =data;\r\n }\r\n\u3000\u3000}解析:本题
考查的知识点如下:
(1)将一个4位整数各位上的数转变成单独的个位数。

(2)判断结构中多个条件的布尔运算。

(3)循环的使用。

(4)数据的排序。

在本题中,首先要将一个4位数的千位、百位、十位、个位拆成独立的数字。

这里借助特殊运算符号“%”——取余和“/”——整除。

将1个4位数整除1000则可得到其千位上的数字,将其除以1000取余再整除100则可得百位上的数字,除以100取余再整除10则可得十位上的数字,除以10取余则得个位上的数字。

若一个数除以2取余为0,则这个数是偶数。

由题意可知,各个条件必须同时满足,所以各条件之间用“与”运算。

先将符合条件的数存入数组b中,再对b中的数据进行排序。

排序采用“选择排序法”。

相关文档
最新文档