早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->计算机三级 -->

函数ReadDat()的功能是实现从文件IN5.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数C

题目

函数ReadDat()的功能是实现从文件IN5.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数ConvertCharA(),该函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的下一个字母,如果是字母z,则改写成字母a。大写字母仍为大写字母,小写字母仍为小写字母,其他字符不变。把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件OUT5.DAT中。

例如,原文:Adb.Bcdza

abck.LLhj

结果:Aec.Bdeab

bcdl.LLik

原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。

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

请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。

参考答案
#include
#include
#include
char xx[50][80] ;
int maxline = 0 ;/* 文章的总行数 */
int ReadDat(void) ;
void WriteDat(void) ;
void ConvertCharA(void)
{
int i,j; /*定义循环控制变量*/
int str; /*存储字符串的长度*/
for(i=0;i
{
str=strlen(xx[i]); /*求得当前行的字符串的长度*/
for(j=0;j
if(xx[i][j]>='a' && xx[i][j]<='z') /*如果是小写字母*/
if(xx[i][j]=='z')
xx[i][j]='a'; /*如果是小写字母z,则改写成字母a*/
else
xx[i][j]+=1; /*其他的小写字母则改写为该字母的下一个字母*/
}
}
void main()
{
system("CLS");
if(ReadDat())
{
printf("数据文件IN5.DAT不能打开!\n\007") ;
return ;
}
ConvertCharA() ;
WriteDat() ;
}
int ReadDat(void)
{
FILE *fp ;
int i =0 ;
char *p ;
if((fp = fopen("IN5.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 ;
system("CLS");
fp = fopen("OUT5.DAT", "w") ;
for(i = 0 ; i < maxline ; i++)
{
printf("%s\n", xx[i]) ;
fprintf(fp, "%s\n", xx[i]) ;
}
fclose(fp) ;
}
看了函数ReadDat()的功能是...的网友还看了以下:

有两盒玻璃球共100个,先从第一盒里取出四分之一放入第二盒,再从第二盒里取出它现有的十一分之五放入 数学 2020-04-26 …

历史上礼贤下士,不耻下问的例子绝不止“三顾茅庐”,请你再举一例,并说说你从这一是例中所得到的启示. 语文 2020-04-27 …

三层书架共有189本书,从第一层和第二层各取10本书,放到第三层.又从第三层取出16从第一层和第二 数学 2020-05-20 …

袋中装有黑球和白球共7个,从中任取2个球都是白球的概率为七分之一,现有甲乙两人从袋中轮流摸取一球, 数学 2020-06-16 …

有两个口袋,甲袋中有3个白球,2个黑球;乙袋中有2个白球,3个黑球.从甲袋中任取一球放入乙袋,再从 数学 2020-06-26 …

从总体中抽取一个样本是5,6,7,8,9,则该样本的方差是从总体中抽取一个样本是5,6,7,8,9 数学 2020-07-17 …

袋子里有6个黄球,4个篮球,从中不放回的取两次,每次取一球.求(2)其中一次取到的是黄球,另一.. 数学 2020-07-27 …

盒中装有甲乙两个袋子,甲中有6个红球4个白球,乙中有7个红球3个白球①从盒中任取一球,问取到的是红球 数学 2020-11-04 …

有60张卡片,按从小到大的顺序排好,第一次,从第一张开始间隔取出一张;第二次,在剩下的卡片中,再从第 数学 2020-11-24 …

有两根同样长的钢管,从第一根截取它的1/4从第二根截取1/4米,剩下部分相比,下面说法正确的是1有两 数学 2021-01-06 …