2006年9月全国等级考试三级c语言上机题库(十七)

文章作者 100test 发表时间 2007:03:10 19:13:00
来源 100Test.Com百考试题网


☆题目17 (亲朋字符替换题)

函数READDAT()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组XX中.请编制函数CHA(),其函数功能是:以行为单位把字符串中的第一个字符的ASCII值加第二个字符的ASCII值,得到第一个亲朋字符,第二个字符的ASCII值加第三个字符的ASCII值,得到第二个新字符,依此类推一直处理到最后第二个字符,最后一个字符的ASCII值加原第一个字符的ASCII值,得到最后一个新的字符,得到的新字符分别存放在原字符串对应的位置上。最后把已处理的字符串逆转后按行重新存入字符串数组XX中,最后调用函数WRITEDAT()把结果XX输出到文件OUT9.DAT中.原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格.

注意:部分源程序已给出。

请勿改动主函数main()、读数据函数ReadDat()和输出数据函数writeDat()的内容。

#include

#include

#include

char xx[50][80] .

int maxline = 0 . /* 文章的总行数 */

int ReadDat(void) .

void WriteDat(void) .

void ChA(void)

{ int i,j.

char ch.

for(i=0.i

{ ch=xx[i][0].

for(j=0.j

xx[i][j] =xx[i][j 1].

xx[i][strlen(xx[i])-1] =ch.

strrev(xx[i]).

}

}

void main()

{

clrscr() .

if(ReadDat()) {

printf("数据文件IN.DAT不能打开!\n\007") .

return .

}

ChA() .

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("OUT9.DAT", "w") .

for(i = 0 . i < maxline . i ) {

printf("%s\n", xx[i]) .

fprintf(fp, "%s\n", xx[i]) .

}

fclose(fp) .

}



相关文章


2006年9月全国等级考试三级c语言上机题库(二十二)
2006年9月全国等级考试三级c语言上机题库(二十)
2006年9月全国等级考试三级c语言上机题库(十九)
2006年9月全国等级考试三级c语言上机题库(十八)
2006年9月全国等级考试三级c语言上机题库(十七)
2006年9月全国等级考试三级c语言上机题库(十五)
2006年9月全国等级考试三级c语言上机题库(十六)
2006年9月全国等级考试三级c语言上机题库(十四)
2006年9月全国等级考试三级c语言上机题库(十二)
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛