三级文件字符串
字符串:5,,60,61
(5)
函数ReadDat()的功能是实现从文件IN5.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数ConvertCharA(),该函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的下一个字母,如果是字母z,则改写成字母a。大写字母仍为大写字母,小写字母仍为小写字母,其他字符不变。把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件OUT5.DAT中。
例如,原文:Adb.Bcdza
abck.LLhj
结果:Aec.Bde...
字符串:5,,60,61
(5)
函数ReadDat()的功能是实现从文件IN5.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数ConvertCharA(),该函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的下一个字母,如果是字母z,则改写成字母a。大写字母仍为大写字母,小写字母仍为小写字母,其他字符不变。把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件OUT5.DAT中。
例如,
:Adb.Bcdza
abck.LLhj
结果:Aec.Bdeab
bcdl.LLik
原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。
注意:部分源程序已给出。
请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。
试题程序:
【
】
void ConvertCharA(void)
{
int i,j;
int str;
for(i=0;i
='a' && xx[i][j]<='z')
if(xx[i][j]=='z')
xx[i][j]='a';
else
xx[i][j]+=1;
}
}
60)
下列程序的功能是:把s字符串中的所有字母改成该字母的下一个字母,字母z改成字母a。要求大写字母仍为大写字母,小写字母仍为小写字母,其他字符不做改变。请编写函数chg(char *s)实现程序要求,最后调用函数readwriteDAT( ),读取in60.dat中的字符串,并把结果输出到文件out60.dat中。
例如:s字符串中原有的内容为Mn 123Zxy,则调用该函数后,结果为No 123Ayz。
【答案】
void chg(char *s)
{
while(*s) /*若当前字符不是字符串结束符,则循环一直进行*/
if(*s=='z'||*s=='Z') /*将当前字母是'z'或者'Z'*/
{
*s-=25; /*则分别将其改成'a'或'A'*/
s++; /*取下一个字母*/
}
else if(*s>='a'&& *s<='y') /*若是小写字母,则改成该字母的下一个字母*/
{
*s+=1;
s++; /*取下一个字母*/
}
else if(*s>='A'&& *s<='Y') /*若是大写字母,则改成该字母的下一个字母*/
{
*s+=1;
s++; /*取下一个字母*/
}
else s++; /*取下一个字母*/
}
【解析】本题考查用指针访问字符串的方法。
这里利用一个while循环对从字符串中逐个获取的字符进行判断,如果当前字符是小写字母'z'或'Z', 则相应地改成'a'或者'A'。如果不是,再接着判断是否是字母,如果是,就改成该字母的下一个字母,否则不作改变。
(61)下列程序的功能是:把s字符串中所有的字符左移一个位置,串中的第一个字符移到最后。请编制函数chg(char *s)实现程序要求,最后调用函数readwriteDat( )把结果输出到out61.dat文件中。
【答案】
void chg(char *s)
{
int i,str; /*定义变量,保存字符串长度*/
char ch; /*定义字符暂存变量*/
str=strlen(s); /*求字符串的长度*/
ch=*s; /*将第一个字符暂赋给ch*/
for(i=0;i
本文档为【三级文件字符串】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。