(2023年)陕西省宝鸡市全国计算机等级考试网络技术模拟考试(含答案)

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

(2023年)陕西省宝鸡市全国计算机等级考试网络技术模拟考试(含答案) 学校:________ 班级:________ 姓名:________ 考号:________
一、单选题(10题)
1.软件测试阶段的主要任务是( )。

A.将模块的过程描述变成程序
B.要发现并排除前面各阶段产生的各种错误
C.工程费用开支审计
D.全面准确地分析用户的需求
2.FTP协议支持的两种传输方式,一种是文本文件,另一种是( )文件。

A.十六进制
B.二进制
C.网页
D.图片
3.下列关于宽带城域网汇聚层基本功能的描述中,错误的是()。

A.提供用户访问Internet所需要的路由服务
B.根据处理结果把用户流量转发到核心交换层
C.汇接接入层的用户流量,进行数据转发和交换
D.根据接入层的用户流量,进行流量均衡、安全控制等处理
4.在虚拟页式存储管理系统中,地址越界中断属于()。

A.输入输出中断
B.程序性中断
C.时钟中断
D.自愿性中断
5.在进行软件开发过程中,进行可行性研究是十分重要的,它的结论直接决定了软件项目是否继续进行,可行性研究的结论主要是关于() A.软件的功能B.软件的性能C.软件的质量D.软件系统目标
6.奈奎斯特定理描述了有限带宽、无噪声信道的最大数据传输速率与信道带宽的关系。

对于二进制数据,若最大数据传输速率为6000bps,则信道带宽B=( )。

A.300Hz
B.6000Hz
C.3000Hz
D.2400Hz
7.第35题以下关于软件的描述,正确的是()。

A.word和WPS都是微软公司出品的软件
B.Excel是我国知名的办公软件
C.Access是电子表格软件
D.Project是项目管理软件
8.电子邮件的地址格式是( )。

A.用户账号.邮件服务器域名
B.用户账号@邮件服务器城名
C.邮件服务器域名@用户账号
D.用户账号@用户计算机名
9.关于网络操作系统的描述中,正确的是( )。

A.A. NetWare是一种UNIX操作系统
B. NetWare是Cisco公司的操作系统
C. NetWare以网络打印为中心
D. SUSE Linux是Novell公司的操作系统
10.下列对生成树协议STP的相关描述中,错误的是()。

A.BPDU每6秒钟定时发送一次
B.Bridge ID值最小的成为根网桥或根交换机
C.BPDU有两种,配置BPDU(<35个字节),拓扑变化通知BPDU(<4个字节)
D.Bridge ID由2字节优先级值和交换机MAC地址组成,优先级增值量是4096
二、填空题(10题)
11.源路由选项可以分为两类,一类是严格源路由选项,另一类是
___________选项。

12.(4)虚电路的工作方式的工作过程分为3个阶段:虚电路建立阶段、_________阶段与虚电路拆除阶段。

13.在奔腾芯片中设置了多条流水线,可以同时执行多个处理,这种技术称为。

14.
15.
16.ATM网络采用异步时分多路复用技术传送信元,典型的数据速率为155.5Mb/s,这样每秒大约可以传送万个信元。

17.IP地址可分为A、B、C、D、E共5类。

其中A类地址主机号占用【19】个字节。

18.MIB-2库中的管理对象可以分为两大类:标量对象和________。

19.UNIX操作系统采用了系统,具有良好的安全性、保密性和可维护性。

20. 在Internet中,邮件服务器间传递邮件使用的协议是______。

三、2.填空题(8题)
21. IPv6提供了3种寻址方式,它们是【】、任意通信与组播通信。

22. 数据传输速率是描述数据传输系统的重要技术指标之一,如果在通信信道上发送1位0、1信号所需要的时间是0.001ms,那么信道的数据传输速率为【】b/s。

23. 按照信息交换方式和所连接的设备种类不同,通道可以分为字节多路通道,选择通道和______通道。

24. 我们知道经典奔腾的处理速度可达到300MIPS。

其中MIPS的含义是______。

25. 通过经营电子支付的银行进行电子支付的过程中,需要发出或者接收【】。

26. 一个计算机局域网可以看成是由服务器、工作站和【】三部分组成的。

27. 目前,通用的IP组播组管理协议是______。

28. 在网络管理中,______功能域监视网络吞吐率、利用率、错误率和响应时间等参数。

四、C语言程序设计题(2题)
29.己知数据文件in.dat中存有200个四位数,并已调用读函数readDat 把这些数存入数组a中,请考生编制一函数jsVal,其功能是:如果四位数各位上的数字均为0或2或4或6或8中的一个数字,则统计出满足
此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。

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

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

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

30.程序test.C的功能是:计算100以内满足以下条件的所有整数i的个数cnt以及这些i之和sum。

条件:i,i+4,i+10都是素数,同时i+10小于l00。

请考生编写函数countValue实现程序要求,最后调用函数writeDAT把结果cnt和sum输出到文件out.dat中。

(数值l不是素数)注意:部分源程序存放在test.C文件中。

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

五、1.选择题(3题)
31. 对于不同的网络操作系统提供功能的描述,错误的说法是______。

A.Windows NT server有良好的文件和打印能力,有优秀的目录服务
B.Windows NT server有良好的文件和打印能力,没有优秀的目录服务
Ware 有良好的文件和打印能力,有优秀的目录服务
D.Windows 2000 server具有活动目录(Active Directory)服务的功能
32. 按逻辑功能区分,SIP系统由4种元素组成,下列元素中不是SIP系
统细成元素的是______。

A.用户代理
B.代理服务器
C.重定向服务器
D.用户
33. 在下列传输介质中,错误率最低的是( )。

A.同轴电缆
B.光缆
C.双绞线
D.微波
六、1.程序设计题(3题)
34. 已知数据文件IN58.DAT中存有300个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函njsValue(),其功能是:求出这些4位数是素数的个数cnt,再把所有满足此条件的4位数依次存入数组b中,然后对数组b的4位数按从小到大的顺序进行排序,最后调用函数writeDat()把数组b中的数输出到
OUT58.DAT文件中。

例如:5591是素数,则该数满足条件,存入数组b中,且个数cnt=cnt+1。

9812是非素数,则该数不满足条件,忽略。

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

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

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

试题程序:
#include<stdio.h>
int a[300],b[300],cnt=0;
int isP(int m)
{
int i;
for(i=2;i<m;i++)
if(m%i==0) return 0;
return 1;
jsValue()
{
}
main ( )
{
int i;
readDat ();
jsValue();
writeDat ();
printf ("cnt=~/od\n",cnt);
for (i=0; i<cnt; i++)
printf("b[%d]=%d\n",i,b[i]);
}
readDat ( )
{
FILE *fp;
int i;
fp=fopen ("IN58. DAT", "r");
for (i=0; i<300; i++)
fscanf (fp, "%d, '", &a [i] );
fctose(fp);
}
writeDat ()
{
FILE *fp;
int i;
fp=fopen ( "OUT58. DAT", "w" );
fprintf ( fp, "%d\n", cnt);
for (i=0; i<cnt; i++)
fprintf(fp, "%d\n",b[i]);
fclose (fp);
}
35. 已知数据文件in80. dat中存有300个4位数,并已调用函数readDat()
把这些数存入数组a中,请编制一函数isValue(),其功能是:求出个位数上的数减千位数上的数减百位数上的数减十位数上的数大于0的个数cnt,再求出所有满足此条件的4位数平均值pjz1,以及所有不满足此条件的4位数平均值pjz2,最后调用函数writeDat()把结果cnt, pjz1, pjz2输出到out80. dat文件。

例如:1239,9-1-2-3>0,则该数满足条件,计算平均值pjz1,且个数cnt=cnt+1。

8129,9-8-1-2<0,则该数不满足条件,计算平均值pjz2。

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

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

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

试题程序:
#include<stdio.h>
int a[300], cnt=0;
double pjzl=0.0,pjz2=0.0;
void jsValue()
{
}
main ( )
{
int i;
readDat();
jsValue();
writeDat();
printf ("cnt=%d\n 满足条件的平均值pjz1=%7.2If\n 不满足条件的平均值
pjz2=%7.2If\n",cnt,pjz1,pjz2);
}
readDat()
{
FILE *fp;
int i;
fp=fopen{ "in80.dat","r");
for(i=0;i<300;i++)
fscanf(fp,"%d,",&a[i]);
fclose(fp);
}
writeDat ()
{
FILE *fp;
int i;
fp=fopen("out80.dat","w");
fprintf(fp,"%d\n%7.21f\n%7.21f\n",cnt ,pjzl,pjz2);
fclose(fp);
}
36. 已知数据文件IN77.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:如果一个4位数的干位数字上的值加十位数字上的值恰好等于百位数字上的值加上个位数字上的值,并且此4位数是偶数,则统计㈩满足此条件的数的个数cnt并把这些4位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT77. 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 ( "IN77. 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 ( "OUT7 7. DAT", "w" ); fprint f (fp, "%od\n", cnt);
for (i=0;i<cnt; i++)
fprintf(fp, "%d\n",b[i]);
fclose (fp);
}
参考答案
1.B在“测试”子阶段,要发现并排除前面各阶段产生的各种错误。

选项
A),将模块的过程描述变成程序这是“编码”子阶段的任务。

2.BFTP协议支持的两种传输方式,一种是文本文件,另一种是二进制文件。

3.A汇聚层的基本功能是:①汇接接人层的用户流量,进行数据分组传输的汇聚、转发与交换;②根据接入层的用户流量,进行本地路由、过滤、流量均衡、QoS优先级管理,以及安全控制,IP地址转换、流量整形等处理。

③根据处理结果把用户流量转发到核心交换层或在本地进行路由处理。

因此选项A叙述错误,故选A选项。

4.B解析:中断机制是现在计算机设施中的基本设施之一。

它在系统中起着通信联络的作用,以协调系统对各种外部资源的相应和处理.一般将中断源分为两类:即强迫性中断和自愿性中断。

自愿性中断是正在运行程序时有意识安排的,通常由程序员在编制程序时,因要求操作系统提供服务而有意识使用访管指令或系统调用,从而导致中断的。

而强迫性中断是正在运行的程序所不期望的,它们是否发生,何时发生都无法预料。

这类中断大致有以下几种:①输入/输出中断是来自通道或各种外部设备的中断,用以反馈通道或设备的工作状况;②硬件故障中断是机器发生错误时的中断,用以反馈硬件在执行过程中出现的故障;③时钟中断是硬件或软件时钟到时引起的中断;④程序性中断是因运行过程中的问题所引起的中断,用于反馈程序执行过程中出现的意外情况,如目态下执行特权指令、地址越界、虚拟存储中的缺页等。

因此地址越界中断属于强制中断中的程序性中断,本题正确选项为B。

5.D
计划阶段的主要任务是制定设定软件系统的目标,确定研制要求,提
出可行性报告。

对各种可能方案做出成本效益分析,做为使用单位是
否继续该项工程的依据。

6.C解析:奈奎斯特准则指出:如果间隔为;π/ω(ω=2πf),通过理想通信信道传输窄脉冲信号,则前后码元之间不产生相互窜扰。

因此,对于二进制数据信号的最大数据传输速率Rmax与通信信道带宽B(B=f,单位Hz)的关系可以写为:Rmax=2f。

对于二进制数据,若最大数据传输速率为6000bps,则信道带宽B=Rmax/2,所以B=3000Hz。

7.D
\r\n
WPS是知名的国产软件,Excel和Access都是微软的办公软件套装的一员,Project是项目管理软件。

8.B
9.D解析:Netware是NOVELL公司推出的网络操作系统。

Netware最重要的特征是基于基本模块设计思想的开放式系统结构。

Netware是一个开放的网络服务器平台,可以方便地对其进行扩充。

Netware系统对不同的工作平台(如D0S、0S/2、Macintosh等),不同的网络协议环境如TCP/IP以及各种工作站操作系统提供了一致的服务。

10.ABPDU每2秒钟定时发送一次,在网络发生故障或拓扑结构发生变化时也会发送新的BPDU,以便维护生成树树状结构。

故选择A选项。

11.松散源路由
【解析】源路由选项可以分为两类,一类是严格源路由选项,另一类
是松
散源路由选项。

12.(4)数据传输
【解析】虚电路的工作方式的工作过程分为3个阶段:虚电路建立阶段、数据传输阶段与虚电路拆除阶段。

13.超标量超标量(Superscalar)技术指在芯片内部设置多于1条的流水线,以便同时执行多个处理。

例如,在芯片内设置U指令流水线和V指令流水线来执行整数指令,设置浮点数指令流水线来执行浮点数指令。

14.
15.
16.36统计时分又叫异步时分。

ATM交换采用异步时分多路复用(ATDM)技术,典型的数据传输速率为155.5Mbps,每秒大约可以传送的信元数为155.5M /(53´8)» 36.7个。

ATM信元的长度固定为53字节,而数据传输速率的单位为比特/秒,所以考生还要注意单位的转换,这是公式中出现数字8的原因。

17.3地址由4个字节32bit.组成。

可以分为A、B、C、D、E共5类。

其中A、B、C类地址的网络号和主机号所占用的位数不同,以适应不同规模的网络。

A类地址中网络号占1个字节的7位首位为O.,其余的3个字节表示主机号,适用于大型网络。

B类地址中网络号占前2个字节中的14位第l、2位为,其余的3个字节表示主机号。

c类地址中网
络号占前3个字节中的21位第l、2、3位为110.,其余的3个字节表示主机号,适用于规模较小的网终。

D类和E类IP地址少用。

18.表对象
\n
19.树形UNIX操作系统采用了树形文件系统,具有良好的安全性、保密性和可维护性。

20.SMTPSMTP 解析:在TCP/IP互联网中,邮件服务器之间使用简单邮件传输协议(SMTP)相互传递电子邮件,而电子邮件使用POP3协议从邮件服务器的邮箱中读取、下载邮件。

21.单一通信或unicast单一通信或unicast 解析:在IPv6中按接口界面而不是按节点(路由器或主机)分配地址,在IPv6中可以给一个接口界面分配复数个不同类别的地址。

IPv6具有3种寻址方式:1、单一通信:一个接口界面只拥有一个惟一的地址。

如果报文的目的地址为单一地址,则该报文被转发至具有相应地址的界面。

2、任意通信:接口界面集合的地址。

如果报文的目的地址为任意通信地址,则该报文被转发给距报文发送源最近的一个接口界面。

3、组播通信:接口界面集合的地址。

如果报文的目的地址为组播通信地址,则具有该地址的所有接口界面都将收到相应的报文。

22.1000000或1061,000,000或106 解析:数据传输速率是描述数据传输系统的重要技术指标之—。

数据传输速率在数值上等于每秒钟传输构成数据代码的二进制位数,单位为比特/秒(bit/second) ,记作b/s。

对于二进制数据,数据传输速率为:S=1/T(b/s)。

其中,T为发送每一位所需要的时间。

题设中通信信道上发送一位0、1信号所需要的时间是
0.001ms,即T=0.001ms:按照上述公式,则信道的数据传输速率S=1/0,001ms=1/10-6=106b/s。

23.数组多路数组多路解析:数组多路通道综合了字节多路通道分时工作和选择通道传输速率高的特点。

其实质是对通道程序采用多道程序设计技术,使与通道连接的设备可以并行工作。

24.每秒执行百万条指令每秒执行百万条指令解析:MIPS是Million Instructions Per Second的缩写,表示每秒执行百万条指令。

25.电子单证电子单证解析:现代工商企业活动都和一定的单证相联系。

如果没有相关单证的流通,各种经济活动就不能进行。

在进行电子商务的过程中,传统意义上的单证就被电子单证所取代。

26.通信设备通信设备解析:一个计算机局域网可以看成是由服务器,工作站和通信设备三部分组成的。

27.IGMPv3IGMPv3 解析:IP组管理协议运行于主机和主机直接连接的组播路由器之间。

IGMPv1定义了基本的组成员查询和报告过程;IGMPv2在IGMPv1的基础上添加了组成员快速离开的机制;IGMPv3中增加的主要功能是成员可以指定接收或指定不接收某些组播源的报文。

目前通用的是IGMPv3。

28.性能管理性能管理解析:性能管理使网络管理人员能够监视网络运行的关键参数,如吞吐率、利用率和错误率等。

29.【审题关键句】各位都是偶数,从大到小排序。

\n【解题思路】
\n①首先,本题要定义多个变量,包括两个循环变量循环i、j;用来存
放四位数分解之后各位数的变量qw(千位)、bw(百位)、sw(十位)和gw(个位);一个用于数据交换的整型变量ab。

\n②通过for循环依次对数组中的每个四位数进行分解,得到每位上的数字,然后通过if条件语句判断每位数是否都为偶数,注意,每个表达式之问的关系为与运算,即需要同时满足这4个表达式的数才符合条件。

\n③将满足条件的四位数赋给数组b[cnt],同时数组下标值加1,当for 循环执行完毕后,则所有满足条件的四位数全部存放到数组b[cnt]中。

\n④最后通过两个for循环,对数组b[cnt]的元素按从大到小的顺序排序,排序过程中,变量ab作为数据交换的中间变量。

\n【参考答案】
\n
30.【审题关键句】100以内(含100)满足i、i+4、i+10都是素数的整数的个数以及这些i之和。

\n【解题思路】
\n①首先定义循环变量i,然后将i的值赋初值为3,每循环一次则将i 的值加1,直到i<90。

\n②在for循环中,每执行一次循环则调用函数isPrime(该函数具体的算法已经在源程序中给出,直接调用即可),对i、i+4、i+10是否同时是素数进行判断,如果这三个数同时为素数,则计数变量cnt值加l,同将时将变量i的值累加到sum上。

\n【参考答案】
\n
31.A解析:本题考查点是网络操作系统的目录服务功能。

Windows NT Server有良好的文件和打印能力,但没有优秀的目录服务,Windows 2000 server才具有活动目录(Active Directory)服务的功能。

NetWare既有良好的文件和打印能力,还具有优秀的目录服务(NetWare Directory Service)功能。

32.D
33.B解析:在同轴电缆,双绞线和微波的比较中,光纤的优点是误码率很低,带宽很宽;其缺点是建设维护费用较高。

34.jsValue ( ) { int i j value; for (i=0; i<300; i++) if (isP (a [ii ) ) /*如果该数为素数则将该数存入数组b中*/ { b[cnt]=a[i]; } for (i=0; i<cnt-1; i++) /*对数组b的4位数按从小到大的顺序进行排序*/ for (j=i+l; j<cnt; j++) if (b [ii >b[j ] ) { value=b [i]; b[i]=b[j]; b [j] =value; } }jsValue ( )\r\n {\r\n int i, j, value;\r\n for (i=0; i<300; i++)\r\n if (isP (a [ii ) ) /*如果该数为素数,则将该数存入数组b中*/\r\n {\r\n b[cnt]=a[i];\r\n }\r\n for (i=0; i<cnt-1; i++) /*对数组b的4位数按从小到大的顺序进行排序*/\r\n for (j=i+l; j<cnt; j++)\r\n if (b [ii >b[j ] )\r\n {\r\n value=b [i];\r\n b[i]=b[j];\r\n b [j] =value;\r\n }\r\n } 解析:本题考查的知识点如下:
(1)循环的嵌套。

(2)数据的排序。

在本题中,已给出了判断素数的函数void isP(int m),只需将数代入进行判断即可。

将素数存入数组b,再对数组b中的数进行排序。

排序采用“选择排序法”——第一次从第一个数据开始和所有后面的数据进行比
较,与比它大(小)的数据交换位置,将数据中最大(小)的数交换到最前面。

第二次从第二个数据开始与后面的数据进行比较,将本次比较中最大(小)的数据交换至第二个位置,直至最后一个数据。

以此类推,则可完成题目的要求。

35.void jsValue() { int i thou hun ten data n=0; for(i=O;i<300;i++) { thou=a
[i] /1000; /*求四位数的千位数字*/ hun=a [i] %1000/100; /*求四位数的百位数字*/ ten=a [i] %100/10; /*求四位数的十位数字*/ data=a [i] %10; /*求四位数的个位数字*/ if (data-thou-hun-ten>0) /*如果个位数减千位数减百位数大于0*/ { cnt++; /*统计满足条件的数的个数*/ pjz1+=a [i]; /*将满足条件的数求和*/ } else { n++; /*否则统计不满足条件的数的个数*/ pjz2+=a Ii]; /*将不满足条件的数求和*/ } pjz1/=cnt; /求满足条件的数的平均值*/ pjz2/=n; /* 求不满足条件的数的平均值*/ }void jsValue()\r\n {\r\n int i, thou, hun, ten, data, n=0;\r\n for(i=O;i<300;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 (data-thou-hun-ten>0) /*如果个位数减千位数减百位数大于0*/\r\n {\r\n cnt++; /*统计满足条件的数的个数*/\r\n pjz1+=a [i]; /*将满足条件的数求和*/\r\n }\r\n else\r\n {\r\n n++; /*否则统计不满足条件的数的个数*/\r\n pjz2+=a Ii]; /*将不满足条件的数求和*/\r\n }\r\n pjz1/=cnt; /求满足条件的数的平均值*/\r\n pjz2/=n; /* 求不满足条件的数的平均值*/\r\n } 解析:本题考查的知识点如下:
(1)特殊运算符“%”及“/”的使用。

(2)循环结构及选择结构的使用?
在本题中,首先要将一个4位数的千位、百位、十位、个位拆成独立的数字。

这里借助特殊运算符号“%” (取余)和“/” (整除),拆分方法略。

然后判断“个位数-千位数-百位数-十位数”的值是否大于0。

依次求得符合条件的数的和及其平均值。

36.void jsVal( ) { int i thou hun ten data j; int ab cd; 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+ten==hun+data) &&a [i] %2 !=1) { /*如果千位数加十位数等于百位数并且此数是偶数*/ b [cnt]=a [i]; /*则将满足条件的数存入数组b中*/ cnt++; /*统计满足条件的数的个数*/ } } for (i=0; i<cnt-1; i++) /*将数组b中的数按从小到大的顺序排列*/ for (j=i+1; j<cnt; j++) if (b[i]>b[j]) { da ta=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<MAX; 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+1; j <cnt; j++)\r\n if (b[i]>b[j])\r\n {\r\n da ta=b [i];\r\n b[i]=b[j];\r\n b [j] =data;\r\n }\r\n } 解析:本题考查的知识点如下:
(1)将一个4位整数各位上的数转变成单独的个位数。

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

(3)数据的排序。

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

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

将一们位数整除1000则可得到其千位上的数字,除以1000取余再整除100则可得百位上的数字,除以100取余再整除10则可得—卜位上的数字,除以10取余则得个位上的数字。

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

题目中的两个条件必须同时满足,所以两条件之间用“与”运算。

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

最后的排序采用“选择排序法”。

相关文档
最新文档