如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
计算机三级网络技术上机模拟题及答案计算机三级网络技术上机模拟题及答案函数ReadDat()的功能是实现从文件IN59.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数CovertCharD(),该函数的功能是:以行为单位把字符串中的`所有小写字母改成该字母的上一个字母,如果是字母a,则改成字母z。大写字母仍为大写字母,小写字母仍为小写字母,其他字符不变。把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件OUT59.DAT中。例如:原文AdbBcdzaabckLLhj结果AcaBbcyz,zabjLLgi原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。注意:部分源程序已给出。请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。试题程序:#include#include#includecharxx[50][80];intmaxline=0;intReadDat(void);voidWriteDat(void);voidCovertCharD(){}voidmain(){system("CLS");if(ReadDat()){printf("数据文件IN59.DAT不能打开\n\007");return;}CovertCharD();WriteDat();}intReadDat(){FILE*fp;inti=0;char*p;if((fp=fopen("IN59.DAT","r"))==NULL)return1;while(fgets(xx[i],80,fp)!=NULL){p=strchr(xx[i],'\n');if(p)*p=0;i++;}maxline=i;fclose(fp);return0;}voidWriteDat(void){FILE*fp;inti;system("CLS");fp=fopen("OUT59.DAT","w");for(i=0;i{printf("%s\n",xx[i]);fprintf(fp,"%s\n",xx[i]);}fclose(fp);}【参考答案及解析】voidCovertCharD(){inti,j;/*定义循环控制变量*/intstr;/*存储字符串的长度*/for(i=0;i{str=strlen(xx[i]);/*求得各行的字符长度*/for(j=0;jif(xx[i][j]>='a'&&xx[i][j]<='z')/*如果是小写字符,只对小写字符进行处理*/来源:考试大{if(xx[i][j]=='a')xx[i][j]='z';/*如果是小写字母a,就改成字母z*/elsexx[i][j]-=1;/*其余的改成该字母的上一个字母*/}}}【解析】本题要对二维数组中的字符元素按行来处理,首先要求得当前行所包含的字符个数,然后才可以利用循环来依次访问该行中的所有字符。当遇到一个字符时,先判断该字符是否小写字母,如果是,则进一步判断该字符是否是小写字母'a',若是,则改写为小写字母'z';若不是,则将其改成该字母的上一个字母。本题中不是小写字母的不作处理。