- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
全国计算机等级考试南开C语言上机100题精简版
2010-07-27 15:53:45 来源: 作者:新思路 【大 中 小】 浏览:549次 评论:0条
?
1、函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按行优先把所有的小写字母替换成它前面的字母其它不变,a换成z,例如:Aabm.() 输出 Azal.() 最后调用函数WriteDat()把结果xx输出到文件PS10.DAT中。 部分源程序已给出,原始数据文件存放的格式是:每行的宽度均小于80个字符。 请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
?
#includestdio.h#includestring.h#includeconio.h#includectype.h unsigned char xx[50][80];int maxline=0;/*文章的总行数*/int ReadDat(void)void WriteDat(void)void encryptChar(){}void main(){clrscr();if(ReadDat()){printf(数据文件ENG.IN不能打开!\n\007);return;}encryptChar();WriteDat();}int ReadDat(void){FILE *fp;int i=0;unsigned char *p;if((fp=fopen(eng.in,r))==NULL) return 1;while(fgets(xx[i],80,fp)!=NULL){p=strchr(xx[i],\n);if(p)*p=0;i++;}maxline=i;fclose(fp);return 0;}void WriteDat(void){FILE *fp;int i;fp=fopen(ps10.dat,w);for(i=0;imaxline;i++){printf(%s\n,xx[i]);fprintf(fp,%s\n,xx[i]);}fclose(fp);}解:void encryptChar(){int i,j;for (i=0;i50;i++)for (j=0;j80;j++)if (xx[i][j]==a) xx[i][j]=z;else (xx[i][j]=bxx[i][j]=z) xx[i][j]-=1; } 2、函数ReadDat()的功能是实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中;请编制函数StrChar JR();该函数的功能是:以行为单位把字符串中的所有字符的ASCII值右移4位,然后把右移后的字符ASCII值再加上原字符的ASCTT值,得到新的字符仍存入原字符串对应的位置上。最后把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件OUT8.DAT中。原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。注意:部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。试题程序:#includestdio.h#includestring.h#includeconio.h char xx[50][80];int maxline=0;/*文章的总行数*/int ReadDat(void);void WriteDat(void);void StrCharJR(void){}void main(){clrscr();if(ReadDat()){printf(数据文件IN.DAT不能打开!\n\007);return;}StrCharJR();WriteDat();}int ReadDat(void){FILE *fp;int i=0;char *p;if((fp=fopen(IN,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(fp);return 0;}void WriteDat(void){FILE *fp;int i;clrscr();fp=fopen(OUT8.DAT,w);for(i=0;imaxline;i++){printf(%s\n
文档评论(0)