函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中.请编制函数encryptChar(),按行优先把所有的小写字母替换成它前面的字母其它不变,a换成z,例如:Aabm.() 输出 Azal.() 最后调用函数WriteDat()把结果xx输出到文件PS10.DAT中。
部分源程序已给出,原始数据文件存放的格式是:每行的宽度均小于80个字符。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
以下是引用片段: #include #include #include #include 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.i printf("%s/n",xx[i]). fprintf(fp,"%s/n",xx[i]). } fclose(fp). } |
解:
以下是引用片段: void encryptChar() {int i,j. for (i=0.i<50.i ) for (j=0.j<80.j ) if (xx[i][j]== a ) xx[i][j]= z . else (xx[i][j]>= b &.&.xx[i][j]<= z ) xx[i][j]-=1. } |
相关文章
在Acce 中实现密码管理的另一种方式
VB中利用API函数实现屏幕颜色数设定
VB实现文字“闪入”显示的特殊效果
C 程序设计从零开始之何谓
计算机等级:7道经典C语言上机试题解析
使用Office2007前需要做的准备工作
天津:2007年下半年全国计算机等级考试开始报名
全国计算机等级考试调整方案(07年5月发布)
谨防被“X之门”病毒窃取机密信息
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛