2022年安徽省蚌埠市全国计算机等级考试网络技术真题(含答案)

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

2022年安徽省蚌埠市全国计算机等级考试
网络技术真题(含答案)
学校:________ 班级:________ 姓名:________ 考号:________
一、单选题(10题)
1.现有SWl~SW4四台交换机相连,它们的VTP工作模式分别设定为Server、Client、Transparent和Client。

若在SWl上建立一个名为VLAN100的虚拟网,这时能够学到这个VLAN配置的交换机应该是()。

A.SWl和SW3
B.SWl和SW4
C.SW2和SW4
D.SW3和SW4
2.如果Cisco路由器有如下SNMP的配置Router(config)#snmp-server enable traps Router(config)#snmp-server host admin.tjut.edu.cn admin 那么,下列描述中错误的是()。

A.主机admin.tjut.edu.cn是接收信息的管理站
B.主机admin.tjut.edu.cn使用UDP的162端口接收信息
C.路由器向主机admin.tjut.edu.cn发送自陷消息而得不到确认时会自动重发
D.路由器使用团体字admin向主机admin.tjut.edu.cn发送信息
3.下列关于RPR技术的描述中,错误的是()。

A.RPR环能够在50ms内实现自愈
B.RPR将沿逆时针传输的光纤环叫做内环
C.RPR环中每一个节点都执行SRP公平算法
D.在RPR环中,源节点向目的节点成功发出的数据帧要由源节点从环中收回
4.Kerberos协议一般采用哪种加密算法( )。

A.RSA
B.DES
C.Elgamal
D.背包加密算法
5.下列对IPv6地址FF60:0:0601:BC:0:0:05D7的简化表示中,错误的是()
A.FF60::601:BC:0:0:05D7
B.FF60::601:BC::05D7
C.FF60:0:0:601:BC::05D7
D.FF60:0:0:0601:BC::05D7
6.在Internet域名系统中,.com通常表示()。

A.商业组织
B.教育机构
C.政府部门
D.非营利性机构
7.一台交换机的总带宽为8.8Gbps,如果该交换机拥有两个全双工1000Mbps光端口,那么最多还可以提供的全双工10/100Mbps电端口的数量是()
A.12
B.16
C.24
D.48
8.下列对VLAN的描述中,错误的是()。

A.IEEE 802.1Q标准规定,VLAN ID用12位(bit)表示
B.VLAN ID标准范围是1~1005,扩展范围是1025~4096
C.可用于Ethernet的VLAN ID为2~1000
D.VLAN name用36个字符表示
9.计算机信息系统发生安全事故和案件,应当()在内报告当地公安机关公共信息网络安全监察部门。

A.8小时
B.48小时
C.36小时
D.24小时
10.数据链路层可分成( )。

A.数据子层和链路子层
B.冲突检测子层和传输层
C.逻辑链路控制子层和介质访问控制子层
D.互连子层和MAC子层
二、填空题(10题)
11.虚电路交换方式试图将电路交换和结合起来,发挥这两种方法各自的优点,以达到最佳的数据交换效果。

12.
13. CSMA/CD的工作流程为:先听后发,边听边发,冲突停止,延迟。

14.(7)TCP/IP参考模型的传输层定义了两种协议,即传输控制协议TCP 和_________。

15. CSMA/CD在网络通信负荷【】时表现出较好的吞吐率与延迟特性。

16. 衡量CPU的处理速度,有两种常用的单位:表示定点指令的平均执行速度用MIPS,表示浮点指令的平均执行速度用______。

17. SIP消息包括两种类型:从客户机到服务器的______和从服务器到客户机的响应消息。

18.
(5)_______是指二进制数据在传输过程中出现错误的概率。

19.(1)在扩展的ASCII码中,每个数字都能用二进制数表示,例如,1表示为00110001,2表示为00110010,那么2008可表示为_________ 。

20.(9)早期的网络操作系统经历了由_______结构向非对等结构的过渡。

三、2.填空题(8题)
21. 千兆位以太网的协议标准是IEEE【】。

22. UNIX系统结构由两部分组成:一部分是内核,另一部分是______。

23. 允许使用单位或个人按时间、地址等信息查询网络的使用情况是______提供的功能。

24. 在Internet中有数以百万计的WWW服务器,如果用户不知道要查找的信息在哪一台WWW服务器中,最好的办法是使用【】。

25. 计算机网络的通信子网由通信处理机、______和其他通信设备组成。

26. —个IPv6的地址的基本表现形式为AA03:0:0:0:0:7:8:15,贝其简略表现形式为【】。

27. 网络安全环境由3个重要部分组成,它们是【】、技术和管理。

28. 改进传统网络的方法主要是增大带宽与______。

四、C语言程序设计题(2题)
29.函数ReadDat实现从文件in.dat中读取一篇英文文章存入到无符号字符串数组xx中;请编制函数ChA,其函数的功能是:以行为单位把字符串中的第一个字符的ASCII值加第二个字符的ASCII值,得到第一个新的值,存入数组单元xx[i][0]中(其中:i是文章中的某行)。

第二
个字符的ASCII值加第三个字符的ASCII值,得到第二个新的值,存入数组单元xx[i][1]中。

以此类推一直处理到最后第二个字符,最后一个字符的ASCII值加原第一个字符的ASCII值,得到最后一个新的值,存放在原字符串对应的位置上,之后把已处理的字符串逆转后仍按行重新存入无符号字符串数组xx中。

最后main函数调用函数WriteDat把结果xx输出到out.dat文件中。

原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格,并也按它的ASCII值作以上处理。

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

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

30.函数ReadDat实现从文件in.dat中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar,按给定的替代关系对数组)xx中的所有字符进行替代,仍存入数组xx对应的位置上,最后调用函数WriteDat把结果xx输出到文件out.dat中。

替代关系:f(p)=p*11 mod 256,mod为取余运算,P是数组xx中某一个字符的ASCII值,f(p)是计算后的无符号整型值(注意:中间变量定义成
整型变量),如果计算后f(p)值小于等于32或f(p)对应的字符是大写字母,则该字符不变,否则用f(p)替代所对应的字符。

注意:部分源程序存放在test.c文件中,原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格,并也按此替代关系进行处理。

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

五、1.选择题(3题)
31. 以下关于光纤特性的描述,哪个是不正确的?______。

A.光纤是一种柔软、能传导光波的介质
B.光纤通过内部的全反射来传输一束经过编码的光信号
C.多条光纤组成一束,就构成一条光缆
D.多模光纤的性能优于单模光纤
32. 下列不属于辅助工程的是( )。

A.计算机辅助设计
B.计算机辅助工程
C.计算机辅助测试
D.计算机辅助翻译
33. 香农定理从定量的角度描述了“带宽”与“速率”的关系。

在香农定理的公式中,与信道的最大传输速率相关的参数主要有信噪比与( )。

A.频率特性B.信道带宽C.相位特性D.噪声功率
六、1.程序设计题(3题)
34. 请编制程序,要求:将文件IN94.DA T中的200个整数读入数组xx 中,求出数组xx中奇数的个数cnt1和偶数的个数cnt2,以及数组xx下标为奇数的元素值的算术平均值pj(保留两位小数),结果cnt1,cnt2,pj 输出到OUT94.DAT中。

部分程序、读函数read_dat(int xx[200])及输出格式已给出。

试题程序:
#include<conio.h>
#include<stdio.h>
#define N 200
void read_dat(int xx[N])
{
int i,j;
FILE *fp;
fp=fopen("IN94.DAT","r");
for(i=0;i<20;i++)
{
for(j=0;j<10;j++)
{
fscanf(fp,"%d,",&xx[i*10+j]);
printf("%d",xx[i*10+j]);
}
printf ("\n");
}
fclose (fp);
}
void main ()
{
int cnt1,cnt2,xx[N];
float pj;
FILE *fw;
clrscr ();
fw=fopen("out94.dat", "w");
read_dat(xx);
printf("\n\ncnt1=%d, cnt2=%d, pj=%6.2f\n", cnt1, cnt2,pj);
fprintf(fw, "%d\n%d\n%6.2f\n",cnt1, cnt2,pj);
fclose(fw);
}
35. 函数ReadDat()的功能是实现从文件IN2.DAT中读取一篇英文文章存入到字符串数组xx中:请编制函数StrOL(),该函数的功能是:以行
为单位对行中以空格或标点符号为分隔的所有单词进行倒排。

最后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件OUT2.DAT中。

例如:原文:YOU He Me
I am a student.
结果:Me He You
student a am I
原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。

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

#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <ctype.h>
char xx[50] [80];
int maxline = 0;/* 文章的总行数*/
int ReadDat (void);
void WriteDat (void);
void StrOL(void)
{
main ( )
{
clrscr ( );
if (ReadDat ())
{
printf("数据文件IN2.DAT不能打开! \n\007");
return;
}
StrOL ( );
WriteDat ();
}
int ReadDat (void)
{
FILE *fp;
int i = 0;
char *p;
if((fp = fopen("IN2.DAT", "r")) == NULL) return 1;
while(fgets(xx[i], 80, fp) != NULL)
{
p = strchr(xx [i], '\n');
if(p) *p = 0;
i++;
}
maxline = i;
fclose (rD):
return 0;
}
void WriteDat (void)
{
FILE*fp;
int i;
clrscr ();
fp = fopen("OUT2.DAT", "w");
for(i = 0; i <maxline; i++)
{
printf("%s\n", xx[i]);
fprintf(fp, "%s\n", xx[i]);
}
fclose (fp);
}
36. 请编写函数countValue(),它的功能是:求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s,并作为函数值返回,最后结果s输出到文件OUT11.DAT中。

例如,若n为1000时,函数值应为s=153.909064。

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

请勿改动主函数main()和输入输出函数progReadWrite()的内容。

试题程序:
#include<conio. h>
#include<math.h>
# include<stdio. h>
double countValue(int n)
{
}
main ( )
{
clrscr ();
printf("自然数之和的平方根=%f\n", countValue(1000)); progReadWrite ( );
}
progReadWrite ( )
{
FILE *wf;
int i, n;
float s;
wf = fopen("OUTll.DAT", "w");
s = countValue (1000);
fprintf(wf, "%f\n", s);
fclose (wf);
}
参考答案
1.CSW3工作在VTP Transparent模式,是一个独立的交换机,不从VTP Server。

学习VLAN配置,也不参与VTP工作,排除A、D,SW1工作在VTP Server模式,本身就可以进行配置操作,不必参与学习。

故答案为C选项。

2.C“Router(config)#snmp—server enable traps”中的“traps”又称为陷入或中断。

SNMP规定了六种一般的自陷情况,例如冷启动,热启动,链路失效等,每当出现这些情况时,代理就会向管理站发出包含有“团体名”和FrapPDu的报文。

管理站对这种报文不必有所应答。

“Router(config)#snmp—server host admin.tjut.edu.cn admin”说明的意思是路由器以团体名“admin”向主机“admin.tjust.edu.cn”发送自陷消息。

故选C。

3.DRPR采用自愈环的设计思想,能够在50ms的时间内,隔离出现故障的结点和光纤段,RPR环中每一个结点都执行SRP公平算法,两个RPR 结点之间的裸光纤最大长度为100km,RPR将沿逆时针传输的光纤环叫做内环,沿顺时针传输的光纤环叫做外环,RPR的内环与外环都可以传输数据分组与控制分组。

RPR环限制数据帧只在源结点与目的结点之间的光纤段上传输,当源结点成功的发送一个数据帧之后,这个数据帧要由目的结点从环中收回。

而在FDDl环中,源节点向目的节点成功发出的数据帧要由源节点从环中收回。

故选D选项。

4.B
5.B
6.A解析:作为国际性的大型互联网,Internet规定了一组正式的通用标准标号,形成了国际通用顶级域名,如下所示:
[*]
【解析】全双工端口带宽计算方法是:端口数×端El概率×2,由计算方法可知:(2×1000+100n)×2=8800,n=24。

8.DVLAN name用32个字符表示,可以是字母和数字。

故选择D选项。

9.D
10.C
11.虚电路建立虚电路方式将数据报与电路交换结合起来,发挥这两种方法各自的优点,以达到最佳的数据交换效果。

虚电路方式的工作过程分为虚电路建立、数据传输、虚电路拆除3个阶段。

虚电路方式主要有以下特点:
— 在每次进行分组传输之前,需要在源主机与目的主机之间建立一条逻辑连接;
— 一次通信的所有分组都通过虚电路顺序传送,因此分组不必携带目的地址、源地址等信息,分组到达目的节点时不会出现丢失、重复、乱序的现象;
— 分组通过虚电路上的每个节点时,节点只需要进行差错校验,不需要进行路由选择;
— 通信子网中的每个节点可以与任何节点建立多条虚电路连接。

12.
13.重发重发解析:为了有效实现多个结点访问公共传输介质的控制策略,CSMA/CD的发送流程可以简单概括为4点:先听后发,边听边发,冲突停止,延迟重发。

14.(7)用户数据报协议(UDP) 【解析】TCP/IP参考模型的传输层定义了两种协议,即传输控制协议TCP 和用户数据报协议UDP。

TCP协议是面向连接的协议,UDP协议是面向非连接的协议。

15.较低较低解析:本题考查点是CSMA/CD的特性。

CSMA/CD是以太网的核心技术。

其控制机制可以形象地描述为:先听后发,边听边发,
冲突停止,延迟重发。

CSMA/CD介质访问控制方法可以有效地控制多结点对共享总线传输介质的访问,方法简单,易于实现。

在网络通信负荷较低时表现出较好的吞吐率与延迟特性。

但是,当网络通信负荷增大时,由于冲突增多,网络吞吐率下降,传输延迟增加,解决的方法是扩展带宽和采用交换技术。

16.MFLOPSMFLOPS 解析:衡量CPU的处理速度,有两种常用的单位:表示定点指令的平均执行速度用MIPS,表示浮点指令的平均执行速度用MFLOPS。

17.请求消息请求消息解析:SIP消息包括两种类型:从客户机到服务器的请求消息和从服务器到客户机的响应消息。

18.(5)误码率【解析】误码率是指二进制码元在数据传输系统中被传错的概率,它在数值上近似等于:Pe=Ne/N,其中N为传输的二进制码元总数,Ne为被传错的码元数。

19.(1) 00110010 00110000 00110000 00111000 【解析】计算机内部采用二进制记数和运算,只有0和l两个数字,按“逢二进一”的规律计数。

2008由2、O、O、8四个ASCII码组成,根据题目已知1表示为00110001.2表示为O0110010,则可通过计算得出:0就是00110000 (00110001-1)3表示为00110011( O0110010+1)(即每次加l,按“逢二进一” 进位),依次类推8表示为00111000。

20.(9)对等
【解析】早期的网络操作系统经历了由对等结构向非对等结构的过渡。

21.802.3z802.3z 解析:千兆位以太网的协议标准是IEEE 802.3z。

在逻
揖链路控制子层LLC采用IEEE802.2标准。

在介质访问控制子层MAC 采用CSMA/CD方法,物理层定义了新的物理层标准1000BASE-T,包括1000BASE T、1000BASE-CX、1000BASELX和1000BASE-SX。

22.核外程序核外程序解析:在系统结构上,UNIX可分为两大部分:一部分是操作系统的内核,另一部分是核外程序。

内核部分由文件子系统和进程控制子系统组成,核外程序则由用户程序和系统提供的服务组成。

23.网络计费管理网络计费管理解析:网络计费的功能包括:①建立和维护计费数据库;②建立和管理计费策略;③能够对指定地址进行限量控制;④允许使用单位或个人按时间、地址等信息查询网络的使用情况。

24.搜索引擎搜索引擎解析:搜索引擎是因特网上的一个WWW服务器,它的主要任务是在因特网中主动搜索其他WWW服务器中的信息并对其自动索引,将索引内容存储在可供查询的大型数据库中。

25.通信线路通信线路解析:通信子网由通信处理机、通信线路与其他通信设备组成,完成网络数据传输、转发等通信处理任务。

26.AA03::7:8:15AA03::7:8:15 解析:在IPv6中,地址的表现方式有三种。

基本表现形式采用8个16位的部分表示,每个部分用四位十六进制数,各个部分间用:隔开;简略形式可以将连续的若干部分的0用::来表示,如0:0:0:0:12:5:9:7可表示成::12:5:9:7;混合表现形式中,高96位被划分成6个十六位部分,采用16进制数表示,低32位与IPv4采用相同的表现方式,用十进制数表示。

27.法律法律解析:安全策略模型包括了立安全环境的3个重要组成部
分:威严的法律、先进的技术和严格的管理。

28.改进协议改进协议解析:传统的基于IP协议的网络的通信协议基本上没有考虑多媒体网络应用的需求,所以它们不适合多媒体网络应用。

改进传统网络的方法主要是:增大带宽与改进协议。

29.【审题关键句】以行为单位,新字符串中每个字符的ASCII码值等于该位置上的原字符ASCII码值加其后面一个字符的ASCII码值,逆序排序。

\n【解题思路】
\n①定义整型循环变量i、j和字符局部变量yuan。

\n②在第一层for循环中,循环变量i从0开始,依次递增直到其值大于或等于maxline,在循环体中,首先把第i行的第一个字符xx[i][O]赋给变量yuan,在第二层for循环中,循环变量j从0开始,依次递增直到其值等于该行字符串的长度减l,在循环体中,将字符xx[i][j]的ASCII 码值与字符xx[i][j+1]的ASCII码值相加的和保存到字符xx[il[j]中。

当退出第二层for循环后,把第i行的最后一个字符与第一个字符变量yuan 的值相加,最后通过strrevi函数对i行字符串逆序排序。

\n【参考答案】
\n
30.【审题关键句】字符替代f(p)=p*11 mod 256,小于等于32或对应大写字母不变,否则替换。

\n【解题思路】
\n本题类似第65套试题,通过审题可以发现主要是排序条件的设置要
求有所不同,参考答案的第6行,修改if条件语句的设置即可。

另外,
在源程序中已经定义了一个无符号变量val,因此,在编写答案程序时,
不需要再重新定义。

\n【参考答案】
\n
31.D解析:单模光纤的性能优于多模光纤。

32.D解析:辅助工程是计算机的一大应用领域,它包括计算机辅助设计
(CAD)、计算机辅助制造(CAM)、计算机辅助工程(CAE)、计算机辅助教
学(CAI)、计算机辅助测试(CAT)等。

计算机翻译属于人工智能应用范
围。

33.B解析:香农定理指出:在有随机热噪声的信道上传输数据信号时,
数据传输速率Rmax与信道带宽B,信号与噪声功率比S/N的关系为:
Rmax=Blog2(1+S/N)。

信道的最大传输速率主要与信道带宽和信噪比有
关。

34.void main() { int cnt1cnt2xx[N]; float pj; FILE *fw; int ik=0; long j=0; cnt1=0; cnt2=0; pj=0.0; clrscr(); fw=fopen("out94.dat""w"); read_dat(xx); for(i=0;i<N;i++) { if(xx[i]%2) cnt1++; /*求出数组xx中奇数的个数cnt1*/
else cnt2++; /*求出数组xx中偶数的个数cnt2*/ if(i%2==1) { j+=xx[i]; /*
求数组xx下标为奇数的元素值的总和*/ k++; } } pj=(float)(j*100/k)/100;
/*求数组xx下标为奇数的元素值的算术平均值pj*/ printf("\n\ncnt1=%dcnt2=%dpj=%6.2f\n"cnt1cnt2pj);
fprintf(fw"%d\n%d\n%6.2f\n"cnt1cnt2pj); fclose(fw); } [解析] 本题考查的
知识点如下:(1)运算符“%”的使用。

(2)强制类型转换和小数位数的保
留。

一个数除以2取余所得的数为1则它是奇数否则是偶数取余使用
运算符“%”。

在本题中要求算术平均值保留两位小数。

使用的方法是:将和乘以100除以个数强制类型转换后再除以100。

为了保证和有效我们定义了一个长整型变量来记录和。

因为个数也为整型运算符“/”在这里的含义是整除而我们要保留小数所以要使用强制类型转换将和乘以100的结果转换为浮点类型这样就可以实现保留两位小数。

使用循环对所有数据进行访问。

void main()\r\n {\r\n int cnt1,cnt2,xx[N];\r\n float pj;\r\n
FILE *fw;\r\n int i,k=0;\r\n long j=0;\r\n cnt1=0;\r\n cnt2=0;\r\n pj=0.0;\r\n clrscr();\r\n fw=fopen('out94.dat','w');\r\n read_dat(xx);\r\n for(i=0;i<
N;i++)\r\n {\r\n if(xx[i]%2)\r\n cnt1++; /*求出数组xx中奇数的个数cnt1*/\r\n else\r\n cnt2++; /*求出数组xx中偶数的个数cnt2*/\r\n if(i%2==1)\r\n {\r\n j+=xx[i]; /*求数组xx下标为奇数的元素值的总和*/\r\n k++;\r\n }\r\n }\r\n pj=(float)(j*100/k)/100; /*求数组xx下标为奇数的元素值的算术平均值pj*/\r\n
printf('\\n\\ncnt1=%d,cnt2=%d,pj=%6.2f\\n',cnt1,cnt2,pj);\r\n
fprintf(fw,'%d\\n%d\\n%6.2f\\n',cnt1,cnt2,pj);\r\n fclose(fw);\r\n }\r\n[解析] 本题考查的知识点如下:\r\n (1)运算符“%”的使用。

\r\n (2)强制类型转换和小数位数的保留。

\r\n 一个数除以2取余所得的数为1,则它是奇数,否则是偶数,取余使用运算符“%”。

在本题中,要求算术平均值保留两位小数。

使用的方法是:将和乘以100除以个数强制类型转换后再除以100。

为了保证和有效,我们定义了一个长整型变量来记录和。

因为个数也为整型,运算符“/”在这里的含义是整除,而我们要保留小数,所以要使用强制类型转换将和乘以100的结果转换为浮点类型,这样就可以实现保留两位小数。

使用循环对所有数据进行访问。

35.void strOL(void) { int ijkstrl1;char c; for (i=0;i<maxline;i++) /*把各行中多余的标点符号去掉*/ for(j=0;j<strlen (xx[i]);j++) { c=xx[i] [j]; if( (c <='A'&&c<='Z')|| (c<='a'&&c<='z')||c==''||(c>='0'&&c<='9')); else xx[i] [j]=' '; for (1=0; l<maxline; l++) { char ch[80]={0}; char pp[80]={0); strl=strlen(xx[l]); i=str1-1; k=1; while (1) { while (((xx[l] [i]>='a' && xx[l] [i]<='z') || (xx[l] [i]>='A' && xx[l] [i]<='z') || (xx[l] [i]>='0' &&xx[1] [i]<='9')) &&i>=0) /* 处理字母和数字*/ { for (j=k; j>=0; j--) /*从当前行的最后一个字符开始取字符直到遇到空格*/ pp[j+1]=pp[j]; pp[O]=xx[l] [i]; k++; i--; } strcat (chpp); /*把该单词存放到数组ch中*/ strcpy(pp "" ); /*清空数组pp*/ k=1; if (i==-l)break; /*如果处理完了一行则退出循环*/ while((xx[1] [i]<'0'|| (xx[l] [i]>'9'&&xx[l] [i]<'A') || xx[1] [i]>'z') && i>=0) /*处理空格*/ { for (j=k; j>=0; j--) pp[j+1]=pp [j]; pp[0]=xx[l] [i]; k++; i--; } strcat (ch pp); /*把空格加到数组ch中*/ strcpy (pp "" ); /*清空数组* / k=0; if (i==-1) break; /*如果处理完了一行则退出循环* / } strcpy(xx[l] ch); /*把已处理完的字符串仍按行重新存入字符串数组xx中*/ } }void strOL(void)\r\n {\r\n int i,j,k,strl,1;char c;\r\n for (i=0;i<maxline;i++) /*把各行中多余的标点符号去掉*/\r\n for(j=0;j<strlen (xx[i]);j++)\r\n {\r\n c=xx[i] [j];\r\n if( (c<=\'A\'&&c<=\'Z\')|| (c<=\'a\'&&c<=\'z\')||c==\'\'||(c >=\'0\'&&c<=\'9\'));\r\n else xx[i] [j]=\' \';\r\n for (1=0; l<maxline; l++)\r\n
{\r\n char ch[80]={0};\r\n char pp[80]={0);\r\n strl=strlen(xx[l]);\r\n i=str1-1;\r\n k=1;\r\n while (1)\r\n {\r\n while (((xx[l] [i]>=\'a\' && xx[l] [i]<=\'z\')
|| (xx[l] [i]>=\'A\' &&\r\n xx[l] [i]<=\'z\') || (xx[l] [i]>=\'0\' &&xx[1] [i]<=\'9\')) &&i>=0) /*\r\n 处理字母和数字*/\r\n {\r\n for (j=k; j>=0; j--)\r\n
/*从当前行的最后一个字符开始取字符,直到遇到空格*/\r\n pp[j+1]=pp[j];\r\n pp[O]=xx[l] [i];\r\n k++; i--;\r\n }\r\n strcat (ch,pp); /*把该单词存放到数组ch中*/\r\n strcpy(pp, '' ); /*清空数组pp*/\r\n k=1;\r\n if (i==-l)break; /*如果处理完了一行,则退出循环*/\r\n while((xx[1] [i]<\'0\'|| (xx[l] [i]>\'9\'&&xx[l] [i]<\'A\') ||\r\n xx[1] [i]>\'z\') && i>=0) /*处理空格*/\r\n {\r\n for (j=k; j>=0; j--)\r\n pp[j+1]=pp [j];\r\n pp[0]=xx[l] [i];\r\n k++;\r\n i--;\r\n }\r\n strcat (ch, pp); /*把空格加到数组ch中*/\r\n strcpy (pp, '' ); /*清空数组* /\r\n k=0;\r\n if (i==-1) break; /*如果处理完了一行,则退出循环* /\r\n }\r\n strcpy(xx[l] ,ch); /*把已处理完的字符串仍按行重新存入字符串数组xx中*/\r\n }\r\n } 解析:本题是有关字符串的处理问题。

首先利用二重循环来按照先行后列的顺序取得xx数组中的各个字符元素,这里用到了strlen()函数,用来求字符串长度。

对依次取得的字符做一些处理,即把多余的标点符号去掉,使新的字符数组中只含有字母和空格。

准备工作做完后,从当前行的最后一个字符开始取,不断的取每一个字符前面的字符,直到取得一个完整的单词后(即遇到空格分隔时),就把该单词存放到数组ch中(用到了strcatt()函数来连接两个字符串,用strlen()函数来对字符串求取串长度),还要把分隔符也放到ch中去。

接着去取该行中其他的字符组成的单词,重复上面的操作,对其他行同样处理。

这样最终得到的字符串就是各行中单词出现的顺序的逆序了,但单词本身的字符顺序没有发生变化。

36.double countValue(int n) { double xy=0.0; int i; for(i=1;i<n;i++) if(i%3==0 && i%7==0) xy+=i; /*求n以内(不包括n)同时能被3与7整
除的所有自然数之和*/ xy=sqrt((double)xy); /*再对总和求平方根*/ return xy; }double countValue(int n)\r\n {\r\n double xy=0.0;\r\n int i;\r\n for(i=1;i<n;i++)\r\n if(i%3==0 && i%7==0) xy+=i; /*求n以内(不包括n)
同时能被3与7整除的所\r\n 有自然数之和*/\r\n xy=sqrt((double)xy); /*
再对总和求平方根*/\r\n return xy;\r\n } 解析:本题的解题思路是:利用
一个for循环依次从n个自然数当中取数,对当前取出的数进行条件判
断。

判断条件为:既能被3整除同时也能被7整除,因此,用“&&”运
算符来连接两个条件表达式,当某数满足判断条件时,就把该数累加到
变量xy中(xy的初始值为0.0),当所有满足条件的数都被找完后,对
累加求得的变量xy的值进行求平方根的计算,并把所求得的结果作为
函数值返回。

相关文档
最新文档