77范文网 - 专业文章范例文档资料分享平台

计算机等级考试三级网络技术题库(5)

来源:网络收集 时间:2019-03-10 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

81.函数ReadDat()的功能是实现从文件IN81.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数CovertCharD(),该函数的功能是:以行为单位把字符串中的所有小写字母改成该字母的上一个字母,如果是字母a,则改成字母z。大写字母仍为大写字母,小写字母仍为小写字母,其他字符不变。把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数

WriteDat()把结果xx输出到文件OUT81.DAT中。 例如:原文:Adb Bcdza

abck LLhj

结果:Aca Bbcyz

zabj Llgi

原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。

【参考答案】

void CovertCharD() {int i;

char *pf;

for(i=0;i

pf=xx[i]; /*指针pf指向各行的首地址*/

while(*pf)

if(*pf=='a') /*如果是字母a,则改成字母z*/

{ *pf='z'; pf++; }

else if(*pf>='b'&& *pf<='z')

{ *pf-=1; pf++; } else pf++; /*若不满足条件,则该字符不变,直接指向下一个*/ } }

82.下面程序的功能是:把s字符串中的所有字母改写成该字母的下一个字母,字母z改写成字母a、字母Z改成字母A。要求大写字母仍为大写字母,小写字母仍为小写字母,其他字符不做改变。请编写函数chg

(char *s)实现程序的要求,最后调用函数

readwriteDAT()把结果输出到文件OUT82.DAT中。 例如:s字符串中原有的内容为:Mn.123Zxy,则调用该函数后,结果为No.123Ayz。 【参考答案】

void chg(char*s) {

while(*s)

if(*s=='z'||*s=='Z') { *s-=25; s++; } else

if(*s>='a'&&*s<='y') { *s+=1; s++; } else

if(*s>='A'&&*s<='Y') { *s+=1; s++; } else s++; } 83.函数ReadDat()的功能是实现从文件IN83.DAT中读取一篇英文文章并存入到字符串数组xx中。请编制函数SortCharA(),该函数的功能是:以行为单位对字符按从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中。最后调用函数WriteDat()把结果xx输出到文件OUT83.DAT中。 例如:原文:dAe,BfC. CCbbAA 结果:,.ABCdef AACCbb 【参考答案】 void SortCharA() { int i,j,k,strl; char ch; for (i=0;ixx[i][k]) { ch=xx[i][j]; xx[i][j]=xx[i][k]; xx[i][k]=ch; } } } 84.函数ReadDat()的功能是实现从文件IN84.DAT中读取一篇英文文章存入到字符串数组xx中;请编制函数SortCharD(),该函数的功能是:以行为单位对字符按从大到小的顺序进行排序;排序后的结果仍按行重新存入字符串数组xx中。最后,main()函数调用函数WriteDat()把结果xx输出到文件OUT84.DAT中。 例如:原文:dAe,BfC CCbbAA 结果:fedCBA, bbCCAA 原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。 【参考答案】 void SortCharD(void) {

int i,j,k,strl; char ch;

for(i=0;i

85.函数ReadDat()的功能是实现从文件IN85.DAT中读取一篇英文文章存入到字符串数组xx中;请编制函数StrOL(),该函数的功能是:以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。最后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx中,最后,调用函数

WriteDat()把结果xx输出||(xx[l][i]>='0'&&xx[l86.函数ReadDat()实现从 for(m=1; m<=k; ][i]<='9'))&&i>=0) /*文件IN86.DAT中读取一篇m++) 处理字母和数字*/ 英文文章存入到字符串数yy[n++]=xx[i][j+m]; { 组xx中;请编制函数 k=0; for(j=k;j>=0;j--) StrOR(),其功能是:以 } pp[j+1]=pp[j]; 行为单位对行中以空格或 if(xx[i][j]==' ') /*从当前行最后一个字符标点符号为分隔的所有单yy[n++]=' '; /*分隔符开始取字符,直到遇空格词进行倒排,同时去除标为空格时保留*/ */ 点符号,之后把已处理的 } pp[0]=xx[l][i]; 字符串(应不含标点符 for(m=1; m<=k; m++) k++; i--; 号)仍按行重新存入字符/*最后一个单词单独处理 } 串数组xx中。最后,*/ strcat(ch,pp); main()函数调用函数 到文件OUT85.DAT中。 例如,原文:You He Me i am a student.

结果:Me He You student a am i

【参考答案】

void StrOL(void)

{int i,j,k,str1,l;char c;

for(i=0;i

for(j=0;j

c=xx[i][j];

if((c>='A'&&c<='Z')||(c>='a'&&c<='z')||c==' '||(c>='0'&&c<='9')); else xx[i][j]=' '; }

for(l=0;l

char ch[80]={0}; char pp[80]={0};

str1=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')

/*把该单词存放到数组ch中*/ strcpy(pp, \/*清空数组pp*/ k=1; if(i==-1) break; /*如果处理完了一行,则退出循环*/ while((xx[l][i]<'0'||(xx[l][i]>'9'&&xx[l][i]<'A')||xx[l][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,\/*清空数组pp*/ k=0; if(i==-1) break; /*如果处理完了一行,则退出循环*/ } strcpy(xx[l],ch); /*把已处理的字符串仍按行重新存入字符串数组xx中*/ } } WriteDat()把结果xx输出到文件OUT86.DAT中。 例如:原文:You have read an which states, 结果:an read have You states which 原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空【参考答案】 void StrOR(void) { int i,j,k,m,n,ll; char yy[80]; for(i=0; i < maxline; i++) /*对每行进行操作*/ { ll=strlen(xx[i]); k=n=0; /*k单词长度,n为yy字符串长度*/ for(j=ll-1; j>=0; j--) /*xx字符串从后向前搜索*/ { if(isalpha(xx[i][j])) k++; /*判断字符是否为字母,是则单词长度加1*/ else /*如果遇到分割符,则将单词放到yy字符串中*/ { yy[n++]=xx[i][j+m]; yy[n]=0; /*添加字符串结束符'\\0'*/ strcpy(xx[i],yy); } }

87.数ReadDat()实现从文件IN87.DAT中读取一篇英文文章存入到字符串数组xx中;请编制函数ChA(),其功能是:以行为单位把字符串中的第一个字符的ASCii值加第二个字符的ASCii值,得到一个新字符,第二个字符的ASCii值加第三个字符的ASCii值,得到第二个新字符,依此类推,一直处理到倒数第二个字符,最后一个字符的ASCii值加原第一个字符的ASCii值,得到最后一个新的字符,得到的新字符分别存放在原字符串对应的位置上。然后把已处理的字符串逆转后按行重新存入字符串数组xx中,最后,调用函数WriteDat()把结果xx输出到文件OUT87.DAT中。 原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。

【参考答案】 void ChA(void) {

int i,j; char p,c;

for(i=0;i

p=xx[i][0];

c=xx[i][strlen(xx[i])-1]; /*将最后一个字符暂存入c中*/

for(j=0;

j<(int)(strlen(xx[i])-1); j++) /*从第一个字符开始,直到倒数第二个字符*/

xx[i][j]+=xx[i][j+1];

xx[i][strlen(xx[i])-1]=p+c; /*每行最后一个字符等于本身ASCii值加字符串第一个字符的值*/strrev(xx[i]); } }

88.函数ReadDat()的功能是实现从文件IN88.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数CharConvA(),其功能是:以行为单位把字符串的最后一个字符的

ASCii值右移4位后加最后第二个字符的ASCii值,得到最后一个新的字符,最后第二个字符的ASCii值右移4位后加最后第三个字符的ASCii值,得到最后第二个新的字符,以此类推,一直处理到第二个字符,第一个字符的ASCii值加最后一个字符的ASCii值,得到第一个新的字符,得到的新字符分别存放在原字符串对应的位置上,把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件OUT88.DAT中。 【参考答案】

void CharConvA(void) {

int i,j,k,str; char ch;

for(i=0;i

str=strlen(xx[i]); /*求出各行的总字符数*/

ch=xx[i][str-1]; /*将最后一个字符暂存入ch*/

for(j=str-1;j>0;j--) /*从最后一个字符开始,直到第二个字符*/

xx[i][j]=xx[i][j]>>4+xx[i][j-1];

xx[i][0]+=ch; /*第一个字符的ASCii值加最后一个字符的ASCii值,得到第一个新的字符*/ } }

89.函数ReadDat()实现从文件IN89.DAT中读取一篇英文文章存入到字符串数组xx中;请编制函数StrOR(),其功能是:以行为单位把字符串中的所有小写字母o左边的字符串内容移到该串的右边存放,然后把小写字母o删除,余下的字符串内容移到已处理字符串的左边存放,然后把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件OUT89.DAT中。例如: 原文:You can create an index on any field you have the correct record. 结果:n any field.Yu can create an index rd.yu have the crrect rec 原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。 【参考答案】 void StrOR(void) { int i,j,k,index,strl; char ch; for(i=0;i=index;j--) { ch=xx[i][strl-1]; for(k=strl-1;k>0;k--) xx[i][k]=xx[i][k-1]; /*字符右移*/ xx[i][0]=ch; } } } 90.编写一个函数findStr(),该函数统计一个长度为2的子字符串在另一个字符串中出现的次数。例如:假定输入的字符串为“asd asasdfg asd as zx67 asd mklo”,子字符串为“as”,函数返回值为6。 函数readwriteDat()的功能是实现从文件IN90.DAT中读取两个字符串,并调用函数findStr(),最后把结果输出到文件OUT90.DAT中。 【参考答案】 int findStr(char *str,char *substr) { int n=0; char *p , *r; while ( *str ) { p=str;r=substr; while(*r) { if(*r==*p) { r++; p++; } else break; } if(*r=='\\0') n++; str++; } return n; }

91.对10个候选人进行选举,现有一个100条记录的选票数据文件

IN91.DAT,其数据存放的格式是每条记录的长度均为10位,第一位表示第一个人的选中情况,第二位表示第二个人的选中情况,依此类推;内容均为字符0和1,1表示此人被选中,0表示此人未被选中,全选或不选均为无效的选票。给定函数

ReadDat()的功能是把选票数据读入到字符串数组xx中。请编制函数

CountRs()来统计每个人的选票数并把得票数依次存入yy[0]到yy[9]中,把结果yy输出到文件OUT91.DAT中。 【参考答案】

void CountRs(void) {

int i,j,k;

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

k=0;

for(j=0;j<10;j++) if(xx[i][j]=='1') k++;

if(k==0||k==10) continue;

for(j=0;j<10;j++) if(xx[i][j]=='1') yy[j]++; } } 92.对10个候选人进行选举,现有一个100条记录的选票数据文件

IN92.DAT,其数据存放的格式是每条记录的长度均为10位,第一位表示第一个人的选中情况,第二位表示第二个人的选中情况,依此类推;内容均为字符0和1,1表示此人被选中,0表示此人未被选中,若一张选票人数小于等于5个人时被认为是无效选票。给定函数

ReadDat()的功能是把选票数据读入到字符串数组xx中。请编制函数

CountRs()来统计每个人的选票数,并把得票数依次存入yy[0]到yy[9]中,把结果yy输出到文件OUT92.DAT中。 【参考答案】

void CountRs(void) {

int i,j,k;

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

k=0;

for(j=0;j<10;j++)

if(xx[i][j]=='1') k++; if(k<=5) continue;

for(j=0;j<10;j++)

if(xx[i][j]=='1') yy[j]++; } } 93.对10个候选人进行选举,现有一个100条记录的选票文件IN93.DAT,其数据存放格式是每条记录的长度均为10位,第一位表示第一个人的选中情况,第二位表示第二个人的选中情况,依此类推;每一位候选人的记录内容均为字符0或1,1表示此人被选中,0表示此人未被选中,若一张选票选中人数大于5个人时被认为无效的选票;给定函数ReadDat()的功能是把选票数据读入到字符串数组xx中。请编制函数

CoutRs()来统计每个人的选票数,并把得票数依次存入yy[0]到yy[9]中,最后调用函数WriteDat()把结果yy输出到文件OUT93.DAT中。 【参考答案】

void CountRs(void) {

int i,j,k;

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

k=0;

for(j=0;j<10;j++)

if(xx[i][j]=='1') k++; if(k>5) continue;

for(j=0;j<10;j++)

if(xx[i][j]=='1') yy[j]++; } } 94.请编写函数

countvalue(),它的功能是:求n以内(不包括n)同时能被3和7整除的所有自然数之和的平方根s,并作为函数值返回,最后结果s输出到文件OUT94.DAT中。

例如若n为1 000时,函数值应为:s=153.909064。 【参考答案】

double countvalue(int n) {

double xy=0.0; int i;

for(i=1;i

if(i%3==0&&i%7==0) xy+=i;

xy=sqrt((double)xy); return xy; }

请编写函数void

countValue(int *a,int *n),它的功能是:求出1到1 000之内能被7或11整除但不能同时被7和11整除的所有整数,并存放在数组a中,通过n返回这些数的个数。 【参考答案】

void countValue(int *a,int *n) {

int i; *n=0;

for(i=1;i<=1000;i++) if(i%7==0 && i) { *a=i; *n=*n+1; a++; }

else if(i%7 && i==0)

{ *a=i; *n=*n+1; a++; } }

96.编写函数jsvalue()它的功能是:求Fibonacci数列中大于t的最小的一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为:F(0)=

0,F(1)=1 F(n)= F(n-1)+ F(n-2)最后,调用函

writeDat()读取10个数据t,分别得出结果且把结果输出到文件OUT96.DAT中。例如:当t=1 000时,函数值为:1 597。【参考答案】int jsvalue(int t)

{int f1=0,f2=1,fn; fn=f1+f2; while(fn<=t) { f1=f2; f2=fn; fn=f1+f2; } return fn; } }

97.下列程序的功能是:利用如下所示的简单迭代方法求方程:cos(x)-x=0的一个实根xn+1=cos(xn) 迭代步骤如下:(1)取x1初值为0.0;(2)x0=x1,把x1的值赋给x0;(3x1=cos(x0),求出一个新的x1;(4)若x0-x1绝对值小于0.000001,执行步骤(5),否则执行步骤(2);(5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。 请编写函数countvalue()实现程序的要求,最后调用函数writeDat()把结果输出到文件OUT97.DAT中。

【参考答案】

float countvalue() {float x0,x1=0.0; while(1) {x0=x1;

x1=cos(x0);

if(fabs(x0-x1)<1e-6) break; }return x1; }

98.某级数的前两项

A1=1,A2=1,以后各项具有如下关系:An=An-2+2An-1

下列程序的功能是:要求依次对于整数M=100、1000和10000求出对应的n值,使其满足:Sn=M,这里

Sn=A1+A2+?+An,并依次把n值存入数组单元

b[0]、b[1]和b[2]中,请编制jsvalue()函数来实现此功能,最后调用函数writeDat()把数组b[]中的值输出到OUT98.DAT文件中。

【参考答案】 void jsvalue() {

int a1=1,a2=1,n=1,an; int sum0,sum; sum0=a1+a2; while(1) {

an=a1+a2*2; sum=sum0+an;

a1=a2; a2=an; n++;

if(sum0<100&&sum>=100) b[0]=n;

if(sum0<1000&&sum>=1000) b[1]=n;

if(sum0<10000&&sum>=10000) { b[2]=n; break; }

sum0=sum; } }

99.设有n个人围坐一圈并按顺时针方向从1到n编号,从第s个人开始进行1到m的报数,报数到第m个人,此人出圈,再从他的下一个人重新开始1到m的报数,如此进行下去直到所有的人都出圈为止。现要求按出圈次序,每10人一组,给出这n个人的顺序表。请考生编制函数Josegh()实现此功能,并调用函数WriteDat()把结果p输出到文件OUT99.DAT中。

设n=100、s=1、m=10进行编程。

【参考答案】

void Josegh(void) {

int i,j,k,s1,w; s1=s;

for(i=1;i<=n;i++) p[i-1]=i;

for(i=n;i>=2;i--) {

s1=(s1+m-1)%i; if(s1==0) s1=i; w=p[s1-1]; for(j=s1;j<=i-1;j++) p[j-1]=p[j]; p[i-1]=w; } }

100.下列程序的功能是:计算出自然数SiX和NINE的个数cnt,它们满足的条件是

SiX+SiX+SiX=NINE+ NINE,并计算满足此条件的所有SiX与NINE的和SUM。请编写函数

countvalue()实现程序的要求,最后调用函数writeDat()把结果cnt和sum输出到文件

OUT100.DAT中。其中S、i、X、N、E各代表一个十进制数字。 【参考答案】

void countvalue() {

int S,i,X,E;

for(S=3;S<=9;S++) for(i=0;i<=9;i++)

for(X=0;X<=8;X=X+2)

for(E=0;E<=9;E=E+3)

if(3*(S*100+i*10+X)==2*(1000+i*100+10+E)) { cnt++; sum+=S*100+i*10+X+1000+i*100+10+E;} }

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库计算机等级考试三级网络技术题库(5)在线全文阅读。

计算机等级考试三级网络技术题库(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/513405.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: