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

计算机考试 已帮助: 时间:2024-07-13 11:40:07

函数ReadDat()的功能是实现从文件IN5.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数ConvertCharA(),该函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的下一个字母,如果是字母z,则改写成字母a。大写字母仍为大写字母,小写字母仍为小写字母,其他字符不变。把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件OUT5.DAT中。
例如,原文:Adb.Bcdza
abck.LLhj
结果:Aec.Bdeab
bcdl.LLik
原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。
注意:部分源程序已给出。
请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。

难度:⭐⭐⭐

题库:计算机类考试,计算机三级,网络技术

标签:字符串,函数,字母

参考解答

用户头像

451***824

2024-07-13 11:40:07

#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) ;

上一篇 简述嵌入式系统的发展阶段。

下一篇 代表了当灾难发生后 数据的恢复时间的指标是( )A.RPOB.RTOC.NROD.SD0

相似问题