函数ReadDat()的功能是实现从文件IN73.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数CovertCharD(),该函数的功能是:以行为单位把字符串中的所有小写字母改成该字母的上一个字母,如果是字母a,则改成字母z。大写字母仍为大写字母,小写字母仍为小写字母,其他字符不变。把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数 WriteDat()把结果xx输出到文件OUT73.DAT中。 例如:原文Adb Bcdza abck LLhj 结果Aca Bbcyz, zabj LLgi 原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。 注意:部分源程序已给出。 请勿改动主函数main()、读函数ReadDat()和写函数Wiltedat()的内容。 试题程序: include<stdio. h> include<string. h> include<conio. h> char xx[50] [80]; int maxline=0; int ReadDat (void); void WriteDat (void); void CovertCharD ( ) { } void main ( ) { clrscr ( ); if (ReadDat ( ) ) { printf ( '数据文件IN73 .DAT 不能打开/n/007'); return; } CovertCharD ( ); WriteDat (); } int ReadDat () { FILE *fp; int i=0; char *p; if ( ( fp= fopen ( 'IN73. DAT', 'r' ) ) = =NULL) return 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('OUT73 .DAT', 'w'); for (i=0; i<maxline; i++) { printf ( '%s/n' ,xx [i] ); fprintf (fp, '%s/n' ,xx[i] ); } fclose (fp); }