2023年河北省石家庄市全国计算机等级考试网络技术测试卷(含答案)_第1页
2023年河北省石家庄市全国计算机等级考试网络技术测试卷(含答案)_第2页
2023年河北省石家庄市全国计算机等级考试网络技术测试卷(含答案)_第3页
2023年河北省石家庄市全国计算机等级考试网络技术测试卷(含答案)_第4页
2023年河北省石家庄市全国计算机等级考试网络技术测试卷(含答案)_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

【2023年】河北省石家庄市全国计算机等

级考试网络技术测试卷(含答案)

学校:班级:姓名:考号:

一、单选题(10题)

1.若要显示所有已建立的有效连接,正确的命令是()。

A.tracert-nB.netstat-nC.route-nD.established-n

2.广域网所覆盖地理范围一般是()公里。

A.几十到几千B.几十到几万C.几到几百D.几到几千

(40)HTML语言的特点包括

A)通用性、简易性、可扩展性、平台无关性

B)简易性、可靠性、可扩展性、平台无关性

C)通用性、简易性、真实性、平台无关性

ςD)通用性、简易性、可扩展性、安全性

4.ADSL上行速率在()。

A.64Kbps~640Kbps

B.640Kbps〜7Mbps

C.7Mbps—IOMbps

D.10Mbps-20Mbps

5.关于32位二进制数值的IP地址,下列说法正确的是()。

A.使用子网屏蔽码是为了减少过小网络对IP资源的浪费

B.子网屏蔽码固定长度为16位,用于屏蔽网络号

C.IP地址中的网络号部分在子网屏蔽码中用“0”表示,而主机号部分在

子网屏蔽码中用'T'表示

D.在实际中,对丁地址进行划分为网络号和子网屏蔽码两部分

6.

(31)关于UNIX标准化进程下列说法中,错误的是

A)IEEE指定了基于UNIX的“易移植操作系统环境”即POSlX标准

B)UNIX国际UI与开放系统基金会OSF成广了”公共开放软件环境"组织COSE以实

现UNIX系统的统一

C)Novell公司从AT&T公司购得了UNIX商标权,并一直保持

D)IBM的AlX与SCO的UnixWare已经相互融合到了二进制级的互操作性

7.下列关于路由器技术的描述中,错误的是()

A.吞吐量是指路由器的包转发能力

B.高性能路由器一般采用交换式结构

C.语音视频业务对路由器延时抖动要求不高

D.路由器的冗余是为了保证设备的可靠性与可用性

8.某公司拥有IP地址块/24。其中6/28和

2/28已经分配给人事部和财务部,现在技术部需要100个

IP地址,可分配的IP地址块是()

A./25

B.8/25

C.4/25

D.28/25

9.第8题关于WWW浏览器,下列说法正确的是()0

A.www浏览器负责接受用户的请求,利用TCP协议将用户的请求传送

给WWW服务器

B.wWw浏览器可以访问FTP服务器的资源

C.利用WWW浏览器可以保存主页,但不能打印主页

D.WWW浏览器是WWW的服务器端程序

10.通过——接入因特网是一个部门或单位的计算机接入因特网常用的

方法()。

A.电话线路B.专用线路C.局域网D.广域网

二、填空题(10题)

11.在以太网中接收帧时,如果接收帧的帧长最小帧长,则说明冲突发生。

12.Blowfish算法由两部分组成:密钥扩展和O

13.如果一个Web站点利用IIS建立在NTFS分区,那么可以通过分级

机制对它进行访问控制。在这种分级访问控制中,系统首先检查[12]

是否在允许的范围内。

14.VOIP的三种实现形式是PC-to-PC、PC-to-Phones。

15.通信终端间常用的数据传输方式有单工、半双工和3种。

16.

健件具有原f的特性.而软件具有【IJ一的特性

17.一台主机的IP地址为00,屏蔽码为。现在用户需

要配置该主机的默认路由。如果与该主机直接相连的惟一的路由器具有

两个IP地址一个为00,屏蔽码为,另一个为,

屏蔽码为,那么该主机的默认路由应该为o

18.在通信网中,为了防止当发送能力大于接收能力时造成数据丢失的

现象,一般需要进行O

19.二级域名AC代表[]o

20.

住通信技术中.通信信道的类型有两类:广播通信信道与」H一通信信道

三、2.填空题(8题)

21.令牌总线网在物理上是总线网,而在逻辑上是____网。

22.因特网主要由_____路由器、服务器与客户机和信息资源组成。

23.系统的可靠性通常用平均无故障时间和时间来表示。

24.传输控制协议TCP与用户数据报服务协议UDP在TCP/IP参考模

型中定义的。

25.城域网结构设计基本都采用核心交换层、业务汇聚层与【】的3层

模式。

26.在因特网中,远程登录系统采用的工作模式为【】模式。

27.浏览器通常由一系列的客户单元、一系列的【】单元和一个控

制单元组成。

28.IP地址可以分为A、B、C、D、E这5类。其中,A类地址主机号

占用【】个字节。

四、C语言程序设计题(2题)

29.函数ReadDat实现从文件in.dat中读取一篇英文文章,存入到字符

串数组XX中;请编制函数encryptChar,按给定的替代关系对数组)xx中

的所有字符进行替代,仍存入数组XX对应的位置上,最后调用函数

WriteDat把结果xx输出到文件OUt.dat中。

替代关系:f(p)=p*llmod256,mod为取余运算,P是数组XX中某一个

字符的ASCn值,f(p)是计算后的无符号整型值(注意:中间变量定义成

整型变量),如果计算后f(p)值小于等于32或f(p)对应的字符是大写字

母,则该字符不变,否则用f(p)替代所对应的字符。

注意:部分源程序存放在test.C文件中,原始数据文件存放的格式是:

每行的宽度均小于80个字符,含标点符号和空格,并也按此替代关系

进行处理。

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

!include<stdio.h>

2«!include<string.h>

3tinclude<ctype.h>

4unsignedchar××[50](801;

5£ntmaxlinc≡0;∕fc文簟的总行1⅛*/

6IntReadDat(void);

7voidWrlteDat(void);

8voidencryptChar()

9(

10unsignedintval;

12

13voidmaln()

14(

15if(ReadDat())

16(

17printf("8(据文件in.dat不能打开!∖π∖007w);

18return;

19)

20encryptChar();

21WriteDat();

22}

,•从文付ULdll中读取一0英文文存入到字符小数组Uψ∙∕

23intReadDat(void)

24(

25FILE*fp;

26int1∙0;

27unsignedchar*p;

28if((fp-foρen(∙∙i∩.dat∙∙,wrw))∙≡NULL)

29return1;

30while(fgets(××(1]rΘOrfp)!∙NULL)

31I

32P∙strchr(××(i]f∙∖n*);

33if(p)φp-0;

34i*÷;

35»

36maxline≡1;

37feɪose(fp);

38return0;

39»

∕∙∣Ett≡*x■出到文件out<htΦ∙∕

40∙voidWrxteDat(void)

41!(

42∖FILE∙fp;

43∖inti;

44jfρ∙fopen(wout.dat,∙,HWW);

4S;for(1≡0;i<maxline;i÷+)

465(

47jPriRtf(7s∖n*∙.××(i));

48;fprintf(fp,∙⅜s∖n"/x×(ij);

49I

fclose(fp);

30.已知数据文件in.dat中存有200个四位数,并已调用读函数readDat

把这些数存入数组a中,请考生编制一函数jsVat,其功能是:把千位数

字和十位数字重新组成一个新的含有两位数字的数ab(新数的十位数字

是原四位数的千位数字,新数的个位数字是原四位数的十位数字),以及

把个位数字和百位数字组成另一个新的含有两位数字的数cd(新数的十

位数字是原四位数的个位数字,新数的个位数字是原四位数的百位数

字),如果新组成的两个数ab-cd>=10,且ab-cd<=20且两个数均是偶数,

同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到

小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnto

最后main函数调用写函数WriteDat把结果ent以及数组b中符合条件

的四位数输出到out.dat文件中。

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

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

请勿改动数据文件in.dat中的任何数据、主函数main、读函数readDat

和写函数WriteDat的内容。

!include<stdio.h>

!defineMAX200

inta(MAX],blMAXlrent-0;

4voidwriteDat();

5voidj$Val(>

6

7

8

9voidreadDat()/,从in.dat文件中调取200个四位数存入IifHd中

10(

11Lnt1;

12FILE∙fp;

www

13fρ-fopen(in.datrr*∙);

14for(i-0;i<MAX;i*÷)

15fscanf(fp,Xltd",&a(i));

16fclose(fp);

17J

18voidmainO

19(

20inti;

21readDat();

22jsVal();〃0用明数jsv∙in,霉现立“要求的劝便

23Printf<”满足条件的敷=*d∖n”,ent);

24for(i-0;i<ent;i÷*)

25prιntf(w%d",b(iJ);

26printf("\nH);

27wrιteDat();

28

29voidWriteDatO〃把计豫结果E以及数帆b中符合条件的四板攻,出到。ut&j文件中

30

31FILE∙fp;

32int1;

ww

33fp∙fopen(∙∙out.datr*w);

34fprintf(tpfent);

35for(i≡0;ι<ent;i*→>

w

36fprintf(fpr"IdXn,b[i]);

37fclose(fρ);

38

五、L选择题(3题)

31.解释程序的功能是______O

A.将高级语言转换为目标程序B.将汇编语言转换为目标程序C.解释

执行高级语言程序D.解释执行汇编语言程序

32.GigabitEthernet的传输速率比传统的IOMbpsEthernet快100倍,但

是它仍然保留着和传统的Ethernet的相同的o

A.物理层协议B.帧格式C.网卡D.集线器

33.NetWare的普通网络用户是由()设定的。

A.网络管理员B.组管理员C.网络操作员D.控制台操作员

六、1.程序设计题(3题)

34.已知在文件in37.dat中存有100个产品销售记录,每个产品销售记

录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整

型)、数量sl(整型)、金额je(长整型)几部分组成。其中,金额=单价X数

量可计算得出。函数ReadDat()的功能是读取这100个销售记录并存入

数组SeIl中。请编制函数SortDatO,其功能要求:按产品代码从小到大

进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结

果仍存入结构数组Sen中,最后调用函数WriteDat()把结果输出到文件

out37.dat中。

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

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

试题程序:

#include<stdio.h>

⅛include<mem.h>

⅛include<string.h>

⅛include<conio.h>

#include<stdlib.h>

⅛defineMAXIOO

typedefstruct

(

chardm[5];

charmc[l1];

intdj;

intsi;

Iongje;

}PRO;

PROsell[MAX];

voidReadDat();

voidWriteDat();

voidSortDat()

)

voidmain()

{

memset(sell,θ,sizeof(sell));

ReadDat()

SortDat()

WriteDat(;

)

voidReadDat()

{

FILE*fp;

charstr[80],ch[ll];

inti;

fp=fopen("IN37.DAT","r");

for(i=0;i<100;i++)

(

fgets(str,80,fp);

memcpy(sell[i].dm,str,4);

memcpy(sell[i].mc,str+4,10);

memcpy(ch,str+14,4);

ch[4]=0;

sell[i].dj=atoi(ch);

memcpy(ch,str+18,5);

ch[5]=0;

sell[i].sl=atoi(ch);

sell[i].je=(long)sell[i].dj*sell[i].sl;

fclose(fp);

)

voidWriteDat()

FILE*fp;

inti;

fp=fopen("OUT37.DAT","w");

for(i=0;i<100;i++)

{

fprintf(fp,"%s%s%4d%5d%101d∖n",sell[i].dm,sell[i].mc,

sell[i].dj,sell[i].sl,sell[i].je);

)

fclose(fp);

)

35.已知数据文件INLDAT中存有200个4位数,并已调用读函数

readDat()把这些数存入数组a中,请编制一函数isVal(),其功能是:如

果4位数各位上的数字均是。或2或4或6或8,则统计出满足此条件

的数的个数ent,并把这些4位数按从大到小的顺序存入数组b中,最

后调用写函数WriteDat()把结果ent及数组b中符合条件的4位数输出

到OUTLDAT文件中。

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

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

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

试题程序:

#include<stdio.h>

⅛defineMAX200

intafMAX],bfMAX],ent=0;

voidjsVal()

)

voidreadDat()

{

inti;

FILE*fp;

fp=fopen("INl.DAT","r");

for(i=0;i<MAX;i++)fscanf(fp,"%d",ia[i]);

fclose(fp);

)

main()

(

inti;

readDat();

jsVal();

Printf("满足条件的数=%d∖n",ent);

for(i=0;i<ent;i++)printf("%d",b[i]);

printf("∖n");

WriteDat();

)

writeDat()

(

FILE*fp;

inti;

fp=fopen("OUTl.DAT","w");

fprintf(fp,"%d∖n",ent);

for(i=0;i<ent;i++)fprintf(fp,"%d∖n",b[i]);

fclose(fp);

)

36.已知数据文件in38.dat中存有200个4位数,并已调用读函数

readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:若

一个4位数的千位数字上的值小于等于百位数字上的值,百位数字上的

值小于等于十位数字上的值,以及十位数字上的值小于等于个位数字上

的值,并且此4位数是偶数,则统计出满足此条件的数的个数Cnt并把

这些4位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()

把结果ent及数组b中符合条件的4位数输出到out38.dat文件中。

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

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

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

试题程序:

#include<stdio.h>

#defineMAX200

inta[MAX],bfMAX],cnt=0;

voidjsVal()

(

)

voidreadDat()

(

inti;

FILE*fp;

fp=fopen("in38.dat","r");

for(i=0;i<MAX;i++)

fscanf(fp,"%d"Λa[i]);

fclose(fp);

)

voidmain()

(

inti;

readDat();

jsVal();

Printf("满足条件的数=%d∖n",ent);

for(i=0;i<ent;i++)

printf("%d∖n",b[i]);

WriteDat();

WriteDat()

FILE*fp;

inti;

fp=fopen("out38.dat","w");

fprintf(fp,"%d∖n",ent);

for(i=0;i<ent;i++)

fprintf(fp,"%d∖n",b[i]);

fclose(fp);

)

参考答案

1.B

2.A

3.A

4.AADSL技术具有非对称带宽特性,上行速率在64KbPS〜640KbPs,下

行速率在500KbPS〜7Mbps。故选择A选项。

5.A

6.C

7.C解析:路由器的关键技术指标包括:①吞吐量;②背板能力;③丢

包率;④路由表容量;⑤突发处理能力;⑥延时与延时抖动;⑦服务质

量;⑧可靠性与可用性;⑨网管能力等。其中,吞吐量是指路由器的包

转发能力,与其端口数量、端口速率、包长度、包类型有关,涉及端口

吞吐量与整机吞吐量两个方面的内容。端口吞吐量是指路由器某个具体

端口的包转发能力,而整机吞吐量是指路由器整机的包转发能力。

8.D

2-2>=100n>=7所以n取7,也就是子网掩码取25位,故选A即

/25

9.Bwww的客户程序在因特网上被称为www浏览器(browser),因而

www浏览器是客户端程序;www浏览器负责接受用户的请求,将用户

的请求传送给www服务器利用的是HTTP协议;利用www浏览器可

以保存主页,也可以打印主页;利用www浏览器用户还可以访问因特

网中其他服务器和资源,例如FTP服务器等。

10.C

一个部门或单位的计算机通过局域网接入因特网是常用的方法。一般

来说.一个单位可以先组建一个局域网,然后通过路由器将该局域网与

ISP相连,用户只需在自己的计算机上安装网卡,运行支持TCP/IP协,

议的操作系统和相关服务软件,并对计算机进行适当配置,即可使用

该计算机通过局域网访问因特网。

11.小于在以太网中接收帧时,如果接收到的帧长小于最小帧长,则说明

冲突发生。

12.数据加密数据加密解析:Blowfish算法由两部分生组成:密钥扩展

和数据加密。

13.IP本题考查点是利用IIS建立Web网站可以进行的四级访问控制。

在电子商务中,Web站点的安全性是十分重要的。在使用微软公司的IIS

建设的Web网站时。当位于NTFS分区时,可以通过四级访问控制来对

该网站进行访问控制。四级访问控制依次为IP地址限制、用户验证、

Web权限和NTFS权限。

14.Phone-to-Phoneo

15.全双工通信终端间常用的数据传输方式有单工、半双工和全双工3种,

如图所示。

∖r∖n

∖r∖n

-单工就是单向传输,传统的电视、电台就是单工传输。单工传输能

够节约传输的成本,但是没有交互性。目前,传统的电视正向可以点

播的网络电视方向发展,因此必须对单工传输的有线电视网络进行改

造才能满足点播的需要。

—半双工的传输可以传输两个方向的数据,但是在一个时间段内只能

接收一个方向的数据。许多对讲机使用的就是半双工方式,当一方按

下按钮说话时,将无法听见对方的声音。这种方式也称为双向交替。

对于数字通道,如果只有一条独立的传输通道,那么就只能进行半双

工传输。对于模拟通道,如果接收方和发送方使用同样的载波频率,

那么它也只能使用半双工的传输方式。

—全双工意味着两个方向的传输能够同时进行,电话是典型的全双工

通信。要实现全双工通信,对于数字通道,必须要有两个独立的传输

路径。对于模拟通道,如果没有两条独立的路径,但双方使用的载波

频率不同,那么也能够实现全双工通信。另外,还有一种回声抵消的

方法可以用于实现全双工通信。

16.

.10000解析:一台主机的IP地址为00,屏蔽码

为255∙0∙0∙0,则网络号为10.0.0。(IP地址与屏蔽码进行逻辑“与”得到的

结果)。与该主机直接相连的唯一的路由器具有两个个IP地址,一个为

00,屏蔽码为,可以得出网络号为,即该路由

器网络相连,而主机所在的网络号刚好为。另一个IP

地址为,屏蔽码为.可以得出网络号o这样我

可以得到主机和路由器的关系,所以该主机的默认路由为10.2.1.IOOo

18.流量控制流量控制解析:在通信网中,为了防止当发送能力大于接

收能力时造成数据丢失的现象,要进行流量控制。

19.科研机构科研机构解析:二级域名Ae代表科研机构。

20.

21.环环解析:令牌总线网在物理上是总线网,而在逻辑上是环网。

22.通信线路通信线路解析:因特网可以分为三层,主干网,中间层网

和底层网,从结构上来说,因特网主要由通信线路,路由器,服务器,

与客户机,信息资源组成。

23.平均故障修复(MTTR)平均故障修复(MTTR)解析:系统的可靠性通

常用平均无故障MTBF时间和平均故障修复时间MTTR来表示°MTBF

指多长时间系统发生一次故障。MTTR指修复一次故障所需要的时间。

显然,如果系统的MTBF时间很长、MTTR时间很短,那么该系统的

可靠性就很高。

24.传输层传输层解析:传输层定义了两种协议:传输控制协议TCP与

用户数据报服务协议UDPo

25.接入层接入层解析城域网在体系结构设计上基本采用核心交换层、

业务汇聚层与接入层的三层模式,以适应各种业务需求、不同协议与不

同类型用户的接入需要。

26.客户机/服务器或C/S客户机/服务器或C/S解析:远程登录协议

Telnet是TCP/IP协议簇中的一个重要协议。Telnet采用客户机/服务器

模式。

27.解释解释解析:本题的考查点是浏览器的组成。浏览器通常由一系

列的客户单元、一系列的解释单元和一个控制单元组成。控制单元是浏

览器的核心,负责协调、管理客户单元和解释单元。客户单元接收和执

行从键盘和鼠标上传来的用户指令。解释单元负责相关的解释工作,如

HTML解释器负责解释由服务器发来的页面文件。

28.33解析:IP地址由4个字节(32bit)组成,可以分为A、B、C、D、

E共5类。其中A、B、C类地址的网络号和主机号所占用的位数不同,

以适应不同规模的网络。A类地址中网络号占前1个字节的7位(首位

为0),其余的3个字节表示主机号,适用于大型网络。B类地址中网络

号占前2个字节中的14位(第1、2位为10),其余的3个字节表示主机

号。C类地址中网络号占前3个字节中的21位(第1、2、3位为110),

其余的3个字节表示主机号,适用于规模较小的网络。D类和E类IP

地址少用。

29.【审题关键句】字符替代f(p)=p*11mod256,小于等于32或对应大

写字母不变,否则替换。

∖n【解题思路】

∖n本题类似第65套试题,通过审题可以发现主要是排序条件的设置要

求有所不同,参考答案的第6行,修改if条件语句的设置即可。另外,

在源程序中已经定义了一个无符号变量VaL因此,在编写答案程序时,

不需要再重新定义。

∖n【参考答案】

∖n

30.【审题关键句】千位+十位与个位+百位,都是偶数,两数相减结果大

于等于1。小于等于20,从大到小排序。

∖n【解题思路】

∖n本题类似第27套试题,通过审题可以发现主要是对四位数的筛选条

件有所不同,体现在两个方面:第一是判断新组合的两个两位数都为偶

数;第二是两数相减后所要求的值域范围稍有不同,本题要求的是大于

等于10小于等于20。参考答案的第10条语句,集中修改该语句即可。

∖n【参考答案】

∖n

∖n

31.D解析:解释程序边解释边逐条执行语句,不保留机器的目标代码,

而编译程序是将源代码编译成计算机可以直接执行的机器代码或汇编

代码的程序,其转换结果将作为文件保留。

32.B解析:GigabitEthernet的传输速率比传统的IOMbPSEthenlet快IOO

倍,但是它仍然保留着和传统的Ethernet的相同的所有特征(相同的数据

帧格式、相同的介质访问控制方法、相同的组网方法)。

33.A解析:普通网络用户简称为用户。用户由网络管理员或有相应权限

的用户创建,是对网络系统有一定访问权限的网络使用者。

34.voidSortDat(){intij;PROxy;for(i=0;i<99;i++)for(j=i+l;j<100;

j++){if(strcmp(sell[i].dmsell[j].dm)>0)/*按产品代码从小到大进行

排列*/{xy=sell[i];sell[i]=sell[j];sell[j]=xy;}elseif(strcmp(sell[i].dm

SenU].dm)==0)∕*若产品代码相同*/if(sell[i].je<sell[j].je)∕*则按金额从

大到小的进行排列*/{xy=sell[i];sell[i]=sellŋ];sell[j]=xy;}}}void

SortDat()∖r∖n{inti,j;\r\nPROxy;\r\nfor(i=0;i<99;i++)∖r∖nfor(j=i+l;j<

100;j++)∖r∖n{∖r∖nif(strcmp(sellfi].dm,sell[j].dm)>0)/*按产品代码从

小到大进行排列*Λr∖n{xy=sell[i];\r\nsell[i]=sell[j];\r\nsell

[j]=xy;\r\n}∖r∖nelseif(strcmp(sell[i].dm,se∏[j].CIm)==O)∕*若产品代码相

同*Λr∖nif(sell[i].je<sell[j].je)∕*则按金额从大到小的进行排列*Λr∖n

{xy=sell[i];\r\nsell[i]=sell[j];\r\nsellŋ]=xy;\r\n}∖r∖n}∖r∖n}解析:本题

考查的知识点如下:

(1)结构体及结构数组的相关操作。

⑵结构数组的排序。

(3)字符型数组的比较。

本题着重考查结构体变量的访问、赋值,包括结构体本身及结构体中各

个成员的访问和赋值。结构数组的操作与一般数组的区别不大,只要注

意其中的元素是结构体,以及对结构体操作的方法。根据题意要求,我

们首先要比较产品代码。因为产品代码为字符型,所以不能使用简单的

比较运算符进行比较。在这里,我们使用了字符串处理函数

strcmp(char*strl1,char*strl2,unsignedintCoUt)对其进行比较。对于比较结

果,还要按情况进行新的操作——存入结构数组或者再进行比较。因为

已定义了结构数组,就可以使用循环进行比较排序。排序采用前面介绍

的“选择排序法”。

35.voidjsVal(){intbb[4];intijkflag;for(i=0;i<200;i++){bb[0]=a[i]∕1000;

/*求四位数的千位数字*/bb[l]=a[i]%1000∕100;/*求四位数的百位数字*/

bb[2]=a[i]%100∕10;/*求四位数的十位数字*/bb[3]=a[i]%10;/*求四位数

的个位数字*/for(j=0;i<4;i++){if(bb[j]%2==0)∕*如果各位上的数字均

是0或2或4或6或8*/flag=l;/*则置标志位flag为1*/else(flagɪO;break;)

/*否则置flag为0退出循环*/}if(flag==l)/*将满足条件的数存入数组b

中并统计满足条件的个数Cnt*/{b[cnt]=a[i];cnt++;)}for(i=O;i<cnt-

l;i++)/*把数组b中的数按从大到小的顺序排序*∕for(j=i+lj<cnt;i++)if

(b[i]<b[j]){k=b[i];b[i]=b[j];b[i]=k;)}voidjsVal()∖r∖n{∖r∖nintbb[4];\r\nint

i,j,k,flag;\r\nfor(i=O;i<200;i++)\r\n{∖r∖nbb[0]=a[i]∕1000;∕*求四位数的

千位数字*∕∖r∖nbb[l]=a[i]%l000/100;/*求四位数的百位数字*∕∖r∖n

bb[2]=a[i]%100∕10;/*求四位数的十位数字*Λr∖nbb[3]=a[i]%10;/*求四位

数的个位数字*Λτ5for(j=0;i<4;i++)\r\n{∖r∖nif(bb[j]%2==0)∕*如果各位

上的数字均是。或2或4或6或8*Λr∖nflag=l;/*则置标志位flag为

l*Λr∖nelse(flag=O;break;)/*否则置flag为0,退出循环*Λr∖n}k\n

if(flag==l)/*将满足条件的数存入数组b中,并统计满足条件∖r∖n的个

数cnt*Λr∖n{b[cnt]=a[i];cnt++;)\r\n}∖r∖nfor(i=O;i<cnt-l;i++)/*把数组b

中的数按从大到小的顺序排序*Λr∖nfor(j=i+l;i<cnt;i++)∖r∖nif(b[i]<

b[j])∖r∖n{k=b[i];b[i]=b[j];b[i]=k;)\r\n}解析:根据题意可知,函数JSVal()

要实现两个功能:一是找出满足条件的那些数,并存放在数组b中;二

是对数组b中的数进行从大到小的排序。

首先来实现找出各位上的数字均是。或2或4或6或8”(即每一位上的

数字都是偶数)的位数的功能。利用一个for循环来不断从数组a中取出

4位数,并对取出的数进行条件判断。由于这里涉及到要对位数的每一

位进行判断,因此,要借助数组bb来临时存放取得的每一位上的数字

值,4⅛b[0]=a[i]∕1000;bb[l]=a[i]%1000/100;bb[2]=a[i]%100∕10;

bb[3]=a[il%10;”这4条语句就可以完成在数组bb中依次存放当前被判

断的4位数的位上的数字值、百位上的数字值、十位上的数字值,以及

个位上的数字值。之后,对所得该数的每一位的值进行是否为偶数的判

断,只要有一位上的数字是偶数,就使标志变量flag的值置1,否则为

0,这样最终根据flag的值来决定是否要放到数组中去,变量Cnt用来统

计数组bb中元素的个数。将所有满足条件的数取出后利用选择法对其

进行排序,即用当前元素依次和它后面的元素进行比较,发现有大于该

数的数,就将这两数进行交换。

36.已知数据文件in38.dat中存有200个4位数并已调用读函数readDat()

把这些数存入数组a中请编制一函数jsVal()其功能是:若一个4位数的

千位数字上的值小于等于百位数字上的值百位数字上的值小于等于十

位数字上的值以及十位数字上的值小于等于个位数字上的值并且此4位

数是偶数则统计出满足此条件的数的个数ent并把这些4位数按从小到

大的顺序存入数组b中最后调用写函数WriteDato把结果Cnt及数组b中

符合条件的4位数输出到。ut38.dat文件中。注意部分源程序已给出。

程序中已定义数组:a[200]b[200]已定义变量:cnto请勿改动主函数

main。、读函数readDat()和写函数WriteDat()的内容。试题程序:

⅛include<stdio.h>⅛defineMAX200inta[MAX]b[MAX]cnt=0;void

jsVal(){}voidreadDat(){inti;FILE*fp;fp=fopen("in38.dat""r");for

(i=0;i<MAX;i++)fscanf(fp"%d"&a[i])

温馨提示

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

最新文档

评论

0/150

提交评论