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

试题集锦 2023-06-14 网络整理 可可

【shitiku.jxxyjl.com--试题集锦】

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

 

函数readdat()实现从文件in.dat中读取一篇英文文章存入到字符串数组xx中;请编制函数cha(),其函数功能是:以行为单位把字符串中的第一个字符的ascii值加第二个字符的ascii值,得到第一个亲朋字符,第二个字符的ascii值加第三个字符的ascii值,得到第二个新字符,依此类推一直处理到最后第二个字符,最后一个字符的ascii值加原第一个字符的ascii值,得到最后一个新的字符,得到的新字符分别存放在原字符串对应的位置上。最后把已处理的字符串逆转后按行重新存入字符串数组xx中,最后调用函数writedat()把结果xx输出到文件out9.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 cha(void)

{ int i,j;

char ch;

for(i=0;i<maxline;i++)

{ ch=xx[i][0];

for(j=0;j<strlen(xx[i])-1;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) ;

}

本文来源:https://shitiku.jxxyjl.com/shitijijin2/27187.html

Copyright @ 2011- 考试题库网 All Rights Reserved. 版权所有

免责声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。

 站长统计