2022年山东省济宁市全国计算机等级考试网络技术模拟考试(含答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2022年山东省济宁市全国计算机等级考试网络技术模拟考试(含答案) 学校:________ 班级:________ 姓名:________ 考号:________
一、单选题(10题)
1.
2.下列关于SNMP操作的描述中,正确的是()。
A.只有在团体字的访问模式是read一write的条件下才能实现Get操作
B.当出现自陷情况时,管理站会向代理发出包含团体字和TrapPDU的报文
C.当管理站需要查询时,就向某个代理发出包含团体字和SetResponsePDU的报文
D.代理使用Inform方式执行Notification操作时需要收到管理站发出的一条确认消息
3.城域网设计的目标是满足城市范围内的大盆企业、机关与学校的多个( )。
A.局域网互联
B.局域网与广域网互联
C.广域网互联
D.广域网与广域网互联
4.下列关于UNIX操作系统的基本特性,说法错误的是( )。
A.UNIX是一个支持多任务、多用户的操作系统
B.UNIX提供了功能强大的Shell编程语言
C.UNIX的网状文件系统有良好的安全性和可维护性
D.UNIX提供了多种通信机制
5.下列关于服务器技术的描述中,正确的是()。
A.服务器磁盘性能表现在磁盘存储容量与I/O速度
B.集群系统中一台主机出现故障时系统无法提供正常服务
C.采用RISC结构处理器的服务器的操作系统通常采用Android
D.热插拔功能允许用户在不切断电源的情况下,更换主板、硬盘、电源等
6.下列关于RPR技术的描述中,正确的是()。
A.RPR环能够在30ms内实现自愈
B.在RPR环中,源节点向目的节点成功发出的数据帧要由源节点从环中收回
C.两个RPR节点之间的裸光纤最大长度可以达到l00公里
D.RPR的内环用于传输数据分组,外环用于传输控制分组
7.当服务器组中一台主机出现故障,该主机上运行的程序将立即转移到组内其他主机。
下列技术中能够实现上述需求的是()
A.RAID
B.Cluster
C.RISC
D.CISC
8.
9.下列关于典型的高端路由器可靠性与可用性指标的描述中,错误的是()。
A.无故障连续工作时间大于1万h
B.系统故障恢复时间小于30min
C.主备用系统切换时间小于50ms
D.SDH接口自动保护切换时间小于50ms
10.一台交换机总带宽为8.8Gbit/s,具有若干个10/100Mbit/s电端口和2个1000Mbit/s光端口,所有端口都工作在全双工状态,那么该交换机电端口数最多是()。
A.12
B.24
C.44
D.48
二、填空题(10题)
11. 在Internet中,邮件服务器间传递邮件使用的协议是______。
12.计算机的发展大致可以分为4个时代,分别是电子管计算机、、集成电路计算机以及大规模和超大规模集成电路计算机。
13.
14. 目前实际存在和使用的广域网基本上都是采用______拓扑结构类型。
15.(7)以太网的物理层规定发送的数据采用_________ 编码方法。
16. 目前,防火墙一般可以提供4种服务。
它们是______、方向控制、用户控制和行为控制。
17.( 15)Internet中的用户远程登录是指用户使用_________命令,使自己的计算机暂时成为远程计算机的一个仿真终端的过程。
18. 一个IPv6地址为21DA:0000:0000:0000:12AA:2C5F:FE08:9C5A。
如果采用双冒号表示法,那么该IPv6地址可以简写为______。
19.
20.第71题在网络管理中,网管服务器对被控设备发出启动、停止等控制命令是属于()管理的范畴。
三、2.填空题(8题)
21. 计算机网络拓扑主要是指______的拓朴类型。
22. 在利用SET协议的购物流程中,持卡人、商家、支付网关等都要通过______来验证交易各方的身份,防止冒名顶替。
23. 虚拟局域网通常采用交换机端口号、MAC地址、网络层地址或______。
24. 匿名FTP服务通常使用的账号名为______。
25. 用户在上网浏览时,不仅可以查看文本信息,而且还可以激活一段声音,显示一个图片,甚至可以播放一段动画,这是因为使用了______技术。
26. 令牌总线在物理上是总线网,而在逻辑上是______网。
27. 目前社区宽带网(RBB)主要由三种技术:通过电信网的数字用户线路xDSL传输数据,通过有线电视网CATV传输数据,通过纯粹的【】的传输数据。
28. FastEthernet的数据传输速率为100Mbps,保留着与传统的10Mbps
速率Ethernet的帧格式。
四、C语言程序设计题(2题)
29. 函数readDat是从文件in.dat中读取20行数据存放到字符串数组xx中(每行字符串长度均小于80)。
请编制函数jsSort,其函数的功能是:以行为单位对字符串按下面给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数writeDat把结果xx输出到文件out.dat中。
条件:字符串从中间一分为二,左边部分按字符的ASCII值降序排序,右边部分不作处理,排序后,左边部分与右边部分按例子所示进行交换。
如果原字符串长度为奇数,则最中间的字符不参加处理,字符仍放在原位置上。
注意:部分源程序存在test.c文件中。
请勿改动数据文件in.dat中的任何数据、主函数main、读函数readDat 和写函数writeDat的内容。
30.已知数据文件in.dat中存有200个四位数,并已调用读函数readDat 把这些数存入数组a中,请考生编制一函数jsVai,其功能是:若一个四位数的千位数位置上的值小于等于百位数位置上的值,百位数位置上的值小于等于十位数位置上的值,以及十位数位置上的值小于等于个位数位置上的值,并且原四位数是偶数,则统计出满足此条件的个数cnt并
把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat把结果cnt以及数组b中符合条件的四位数输出到文件out.dat 中。
注意:部分源程序存在test.c文件中。
程序中已定义数组:a[200],b[200],已定义变量:cnt
请勿改动数据文件in.dat中的任何数据、主函数main、读函数readDat 和写函数writeDat的内容。
五、1.选择题(3题)
31. 因特网与银行内部网络之间是通过______来实现连接的。
A.支付网关系统
B.业务应用系统
C.安全认证系统
D.电信通信系统
32. 关于同轴电缆,双绞线和光纤,下述哪个说法是正确的? ( )。
A.细同轴电缆传输速率最高
B.光纤电缆支持电缆运行几十公里
C.屏蔽双绞线对电磁干扰不敏感
D.以上说法都不对
33. 主要采用树形拓扑结构的是( )。
A.电信网
B.卫星网
C.有线电视网
D.计算机网
六、1.程序设计题(3题)
34. 下列程序的功能是:把s字符串中所有的字符左移一个位置,串中的第一个字符移到最后。
请编制函数chg(char*s)实现程序要求,最后调用函数readwriteDat()把结果输出到out63.dat文件中。
例如:s字符串中原有内容为Mn,123xyZ,则调用该函数后,结果为n,123xyZM。
注意:部分源程序已给出。
请勿改动主函数main()和输入输出函数readwriteDAT()的内容。
试题程序:
#include<conio. h>
#include<stdio. h>
#define N 81
void readwriteDAT();
void chg(char *s)
{
}
main ( )
{
char a [N];
clrscr ();
printf("Enter a string :");
gets (a);
printf("The original string is :");
puts (a);
chg (a);
printf("The string after modified :");
puts (a);
readwriteDAT ( );
}
void readwriteDAT()
{ int i;
char a [N];
unsigned char *p;
FILE *rf,*wf;
rf=fopen ("in63.dat", "r");
wf=fopen ("out63.dat", "w");
for (i=0; i<10;i++)
{ fgets (a, 80, rf);
p=strchr (a, ' \n' );
if(p) *p=0;
chg (a);
fprintf (wf, "%s\n", a);
}
fclose(rf);
fclose (wf);
}
35. 下列程序的功能是:选出100~1000间的所有个位数字与十位数字之和被10除所得余数恰是百位数字的素数(如293)。
计算并输出上述这些素数的个数cnt,以及这些素数值的和sum。
请编写函数countValue()
实现程序要求,最后调用函数writeDAT()把结果cnt和sum输出到文件OUT17.DAT中。
注意:部分源程序已给出。
请勿改动主函数main()和写函数writeDAT()的内容。
试题程序:
#include 〈stdio.h>
int cnt, sum;
void countValue()
{
}
main ( )
{
cnt=sum=0;
countValue ();
printf("素数的个数=%d\n", cnt);
printf ("满足条件素数值的和=%d", sum);
writeDAT ();
}
writeDAT ()
{
FILE *fp;
fp=fopen("OUT17.DAT", "w");
fprintf(fp, "%d\n%d\n", cnt, sum);
fclose (fp);
}
36. 已知数据文件IN85.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组9中,请编制一函数jsVal(),其功能是:如果一个4位数的千位数字上的值加十位数字上的值恰好等于百位数字
上的值加上个位数字上的值,并且此4位数是偶数,则统计出满足此条件的数的个数cnt并把这些4位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT85.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("IN85.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.B
2.DSNMP的主要操作有获取(get)、设置(set)、通知(notification)。
只有在团体字的访问模式是read—write的条件下才能实现Set操作。
当出现自陷情况时,代理站会向管理发出包含团体字和TrapPDU的报文。
当管理站需要查询时,就向某个代理发出包含团体字和GetRequestPDU 的报文。
当SNMP管理站收到一条Inform通知后需要向发送者回复一条确认消息。
故D选项正确。
3.A
4.C
UNIX的几个特点分别是:①UNIX是多用户、多任务的系统;②UNIX大部分是用C语言编写的;③提供了Shell编程语言;④提供了丰富的系统调用;⑤采用树形文件系统;⑥提供多种通信机制;⑦采用进程对换的内存管理。
5.A集群系统中一台主机出现故障时,它所运行的程序将立即转移到其他主机。
采用RISC结构处理器的服务器的操作系统通常采用Unix。
热插拨功能允许用户在不切断电源的情况下,更换板卡、硬盘等。
故选择A选项。
6.C弹性分组环(RPR)采用自愈环设计思路,能在50ms时间内,隔离出现故障的结点和光纤段,提供SDH级的快速保护和恢复。
RPR限制数据帧只在源结点与目的结点之间的光纤段上传输,当源结点成功发送一个数据帧之后,这个数据帧由目的结点从环中回收。
两个RPR结点之间的裸光纤最大长度可以达到100kin。
RPR将顺时针传输方向的光纤环称为外环,将沿逆时针传输方向的光纤环称为内环,内环和外环都可以用统计复用的方法传输数据分组和控制分组。
故C选项正确。
7.B
B 解析:RAID磁盘阵列就是将N台硬盘通过RAID Controller(分Hardware,Software)结合成虚拟单台大容量的硬盘使用,从而提高硬盘性能。
Cluster集群是指一组连接起来的电脑,它们共同工作对外界来说就像一个电脑一样。
集群一般用于单个电脑无法完成的高性能计算,拥有较高的性价比。
可以实现负载均衡和性能优化。
如Baidu和Google等
大的搜索引擎后台服务器就是利用Cluster实现。
RISC精简指令集计算机是一种执行较少类型计算机指令的微处理器,起源于80 年代的MIPS主机(即RISC 机),RISC机中采用的微处理器统称RISC处理器。
IBM的Power PC就是采用的RISC。
CISC复杂指令集计算机,和RISC,都是指的计算机的中央处理器内核的指令类型。
不同的是指令由完成任务的多个步骤所组成,把数值传送进寄存器或进行相加运算。
如Intel和AMD的x86就是采用的CISC。
综上分析可推得,服务器组中一台出现故障后,立即转移到其他主机中,应该通过B)Cluster集群来实现。
8.C
9.A典型的高端路由器的可靠性与可用性指标应该达到:①无故障连续工作时间(MTBF)大于10万小时;②系统故障恢复时间小于30分钟;③系统具有自动保护切换功能,主备用切换时间小于50毫秒;④SDH与ATM接口自动保护切换功能,切换时间小于50毫秒;⑤主处理器、主存储器、交换矩阵、电源、总线管理器与网络管理接口等主要部件需要有热拔插冗余备份,线卡要求有备份,并提供远程测试诊断能力;⑥路由器系统内部不存在单故障点。
10.B全双工端口带宽的计算方法是:端口数×端口速率×2。
本题中对于光端口的总带宽是2×1000Mbit/s×2=4000Mbit/s,剩余的带宽则是电端口的,即8.8×1000Mbit/s-4000Mbit/s=4800Mbit/s。
则电端口数可能为4800Mbit/s÷100Mbit/s÷2=24,因此该交换机电端口数最多
是24个。
注意,该题中的换算单位是1000,而不是1024,故选B选项。
11.SMTPSMTP 解析:在TCP/IP互联网中,邮件服务器之间使用简单邮件传输协议(SMTP)相互传递电子邮件,而电子邮件使用POP3协议从邮件服务器的邮箱中读取、下载邮件。
12.晶体管计算机以计算机的硬件为标志,计算机的发展大致可以分为4个时代:
— 第一代(1946年-1957年):电子管计算机;
— 第二代(1958年-1964年):晶体管计算机;
— 第三代(1965年-1969年):集成电路计算机;
— 第四代(1970年至今):大规模和超大规模集成电路计算机。
13.
14.网状网状解析:在采用点—点线路的通信子网中,每条物理线路连接一对结点。
基本拓扑构型有4种:星形、环形、树形与网状形。
网状拓扑的主要优点是系统可靠性高,但是结构复杂,必须采用路由选择算法与流量控制方法。
目前实际存在和使用的广域网基本上都是采用网状拓扑构型。
15.(7)曼彻斯特
【解析】以太网的物理层规定发送的数据采用曼彻斯特编码方式。
16.服务控制服务控制解析:防火墙一般可以服务控制、方向控制、用户控制和行为控制提供4种服务。
17.(15) Telnet
【解析】Intemet中的用户远程登录是指用户使用Telnet命令,使自己的计算机暂时成为远程计算机的一个仿真终端的过程。
18.21DA::12AA:2C5F:FE08:9C5A21DA::12AA:2C5F:FE08:9C5A 解析:本题中把中间连续的0部分缩写为“::”即可。
19.先到先服务
20.配置【解析】配置管理的目标是掌握和控制网络的配置信息,从而保证网络管理员可以跟踪、管理网络中各种设备的操作状态。
网管服务器对被管设备发出控制命令是属于配置管理的范畴。
21.通信子网通信子网解析:计算机网络拓扑是通过网中结点与通信线路之间的几何关系表示网络结构,反映网络中各实体的结构关系,计算机网络拓扑主要是指通信子网的拓扑类型。
22.CA安全认证中心CA安全认证中心解析:身份验证是通过CA安全认证中心来完成的。
23.IP广播组地址定义IP广播组地址定义解析:虚拟网络建立在交换技术基础上。
以软件方式来实现逻辑工作组的划分与管理。
通常有4种定义虚拟局域网的技术:通过交换机端口号、用MAC地址、用网络层地址和IP广播组地址。
24.anonymousanonymous 解析:匿名账户和密码是公开的,当用户访问提供匿名服务的FTP服务器时,通常用anonymous作为账号,用guest 作为口令。
25.超媒体超媒体解析:超媒体技术对超文本的链接信息类型进行了扩
展,支持丰富媒体格式的Web浏览。
26.环环解析:令牌总线网在物理上是总线网,而在逻辑上是环网。
27.计算机网络计算机网络解析:社区宽带网络是接到用户的快速网络,从日前来看,有3种主要的技术,一种是基于电信网络的数字用户线路xDSL方式,它是建立在原有的电信线路上面传送宽带数据;另一种是在有线电视网CATV上传送宽带数据:还有一种就是纯粹计算机网络,也就是我们常说的局域网,它可能以基于IP的方式传输宽带数据。
28.相同相同解析:快速以太网的数据传输速率为100Mbps,FastEthernet保留着与传统的10Mbps速率Ethernet的所有特征,即相同的帧格式,相同的介质访问控制方法CSMA/CD,相同的接口与相同的组网方法,而只是把Ethernet每个比特发送时间由100ns降低到10ns。
29.【审题关键句】以行为单位从字符串左边部分降序排序,排序后左边部分与右边部分进行交换。
如果原字符串长度为奇数,则最中间的字符不参加处理。
\n【解题思路】①定义循环变量i、j、k和整型变量len、P。
\n②第一层for循环中,循环变量i从0开始,依次递增直到其值等于20,实现对20行数据的逐行处理。
在循环体中,对于i行首先调用函数strlen(xx[i])求得第i行字符串的长度,并把其值赋给变量len,再用len 除以2,得到第i行字符串长度的一半,赋给变量P。
在第二层for循环中,循环变量j从0开始,依次递过来增直到其值等于(p-1),在第三层for循环中,循环变量k从j+1开始,依次递过来增直到其值等于P,比较字符xx[i][j]ASCII码值与xx[i][k]ASCII码值的大小,如果字符
xx[i][j]的ASCII码值小于xx[i][k]的ASCII码值,则两者进行互换实现对第i行字符串左半部分的字符串按降序排列。
\n③用变量len的值对2求余数,如果余数为1,则调用函数字符串拷贝函数strcpy,把从字符串xx[i]+P+1开始直到字符串xx[i]的结尾的子字符拷贝到字符串变量str中,再调用字符串连接函数stmcat把字符串xx[i]的中间字符连接到字符串变量s仃的后面,再调用字符串连接函数stmcat把字符串xx[i]的左半部分的子字符串连接到变量str的后面;如果余数不等于l,则调用字符串拷贝函数strcpy,把从字符串xx[i]+P开始直到字符串xx[i]的结尾的子字符拷贝到字符串变量str中,再调用字符串连接函数strncat把字符串xx[i]的左半部分的子字符串连接到变量str的后面,实现字符串xx[i]左右部分子字符串的交换。
\n④调用字符串拷贝函数strcpy,把字符串变量str的值拷贝到字符串xx[i],实现把排序后的结果仍按行重新存入字符串数组xx中。
\n【参考答案】
\n
30.【审题关键句】千位-百位-十位-个位,结果大于等于零且原四位数是奇数,统计出满足此条件的个数,并按从小到大的顺序存入数组。
\n【解题思路】
\n本题类似第9套试题,通过审题可以发现主要有两个不同点:一是要求统计的四位数的条件是“千位-百位-十位-个位>=0”,二是要求该四位数是奇数,这两个不同点都体现在参考答案的第8条语句中,对该语句进行修改即可,其中,可以判断奇数的表达式是“a[i]%2”。
\n【参老答案】
\n
\n
31.A解析:因特网与银行内部网络之间进行数据通信时,既要完成数据加密解密,防止黑客攻击,以保证信息安全;同时还需完成协议转换,因为银行内部网络协议往往和因特网协议不同,这些都是支付网关系统应解决的问题。
一个支付网关系统既可以连接一个银行网络系统,也可以同时连接多个银行网络系统。
32.D解析:细同轴电缆的最大长度为185m,数据传输速率为10Mbps;屏蔽双绞线电缆极易受电磁干扰,而光纤电缆可以支持的传输范围很广,大到一个省一个国家甚至全球。
33.C解析:有线电视网主要采用树形拓扑结构,计算机网络有多种拓扑结构,有总线型、环形等。
34.void chg(char *s) { int istrl; char ch; strl=strlen (s); /*求字符串的长度*/ ch=*s; /*将第一个字符暂赋给ch* / for (i=O; i<strl-1; i++) /*将字符依次左移*/ *(s+i) =* (s+i+l); * (s+strl-1) =ch; /*将第一个字符移到最后*/ }void chg(char *s)\r\n {\r\n int i,strl;\r\n char ch;\r\n strl=strlen (s); /*求字符串的长度*/\r\n ch=*s; /*将第一个字符暂赋给ch* /\r\n for (i=O; i <strl-1; i++) /*将字符依次左移*/\r\n *(s+i) =* (s+i+l);\r\n * (s+strl-1) =ch; /*将第一个字符移到最后*/\r\n } 解析:本题考查的知识点如下:
(1) 数组中元素的移动。
(2) 指针的使用。
我们可以使用一个循环实现数组中所有字符元素的左移。
这里要注意的
足第1个字符要移至最后1个字符处,所以首先要将第1个字符保存。
在移动时,要从左到右依次移动,否则,左侧的字符会在移动前被其右侧的字符覆盖。
在这里使用了指针,初始时,指针指向数组的第1个元素,随着地址的增加指针指向数组后面的元素。
例如,若地址加2,35.void countValue()。
{ int ijhalfhuntendata;for(i=101;i〈1000;i++) { hun=i/100;/*求百位数字*/ ten=i%100/10;/*求十位数字*/ data=i%10;/*求各位数字*/ if(hun==(ten+data)%10) /*如果个位数字与十位数字之和被10除所得余数恰是百位数字则进一步判断该数是否为素数*/ { half=i/2;for(j=2;j〈=half;j++) if(i%j==0) break;if(j>half) {cnt++;sum+=i;} /*计算这些素数的个数cnt以及这些素数值的和sum*/ } } }void countValue()。
\r\n {\r\n int i,j,half,hun,ten,data;\r\n for(i=101;i〈1000;i++)\r\n {\r\n hun=i/100;/*求百位数字*/\r\n ten=i%100/10;/*求十位数字*/\r\n data=i%10;/*求各位数字*/\r\n if(hun==(ten+data)%10) /*如果个位数字与十位数字之和被10除所得余数恰是百位数字,则进一步判断该数是否为素数*/ \r\n {\r\n half=i/2;\r\n for(j=2;j〈=half;j++)\r\n if(i%j==0) break;\r\n if(j>half)\r\n {cnt++;sum+=i;} /*计算这些素数的个数cnt,以及这些素数值的和sum*/\r\n }\r\n }\r\n } 解析:本题的解题思路是利用一个for循环依次取得100到1000之间的数,接着求得当前所取得的数的各个位上的数字值,语句“hun=i/100;ten=i%100/10:data=i%10:”可以分别取得某数的百位、十位及个位上的数字值,然后判断该数个位数字与十位数字之和被10除所得的余数是否恰好等于百位上的数字。
如果这个条件成
立,接着去判断原数是否是素数,这里,考虑到效率问题,可以依次用从2到该原数本身一半的数去除原数,如果原数能被除尽,则证明该数肯定不是素数,不需要做下面的工作,接着去取下一个数,继续判断。
只有同时满足上述两个条件的数才是本题所需的数,这时把该数累加到变量sum(满足条件素数值的和)中,同时也给计数器变量cnt(素数的个数)加1。
36.void jsVal() {int i thou hun ten data j; for (i=0; i<200; i++) { thou=a
[i]/1000; /*求四位数的千位数字*/ hun=a [i] %1000/100; /*求四位数的百位数字*/ ten=a [i] %100/10; /*求四位数的十位数字*/ data=a [i] %10; /*求四位数的个位数字*/ if(thou+ten==hun+data && a[i]%2!=1) { /*如果千位数加十位数等于百位数加上个位数并且此数是偶数*/ 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 for (i=0; i<200; i++)\r\n {\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+ten==hun+data && a[i]%2!=1)\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 }解析:本题考查的知识点如下:
(1)运算符“%”及“/”的使用。
(2)选择结构中多个条件的布尔运算。
(3)数据的排序。
在本题中,首先要将一个4位数的千位、百位、十位、个位拆成独立的数字。
这里借助特殊运算符号“%”(取余)和“/”(整除),拆分方法略。
题中给出的两个条件必须同时满足,所以两条件之间用“与”运算。
将符合条件的数先存入数组b中,再对b中的数据进行排序。
排序使用“选择排序法”。