上机100题精简版.doc

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)

jiulama + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档