题目内容
函数ReadDat()的功能是实现从文件IN8.DAT中读取一篇英文文章存入到字符串数组xx中;请编制函数StrCharJP(),该函数的功能是:以行为单位把字符串中的所有字符的ASCII值右移4位,然后把右移后的字符的ASCII值再加上原字符的ASCII值,得到新的字符,并存入原字符串对应的位置上。最后把已处理的字符串按行重新存入字符串数组xx中,并调用函数WriteDat()把结果xx输出到文件OUT8.DAT中。 原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。 请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。 试题程序: #include<stdio.h> #include<string.h> #include<conio, h> char xx[50] [80]; int maxline = 0; /* 文章的总行数 */ int ReadDat (void); void WriteDat(void); void StrCharJR(void) main ( ) clrscr ( ; if (ReadDat ()) printf ("数据文件IN8.DAT不能打开! \n\007"); return; StrCharJR (); WriteDat (); int ReadDat (void) FILE *fp; int i= 0; char *p; if ((fp = fopen("IN8.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; i < maxline; i++) printf("%s\n", xx[i]); fprintf(fp, "%s\n", xx[i]); fclose (fp);
查看答案
搜索结果不匹配?点我反馈
更多问题