A-A+

下列给定程序中 函数fun()的作用是 将字符串tt中的大写字母都改为对应的小写字母 其他字

2022-08-05 22:46:06 问答库 阅读 173 次

问题详情

下列给定程序中,函数fun()的作用是,将字符串tt中的大写字母都改为对应的小写字母,其他字符不变。例如,若输入"Ab,cD",则输出"ab, cd"。
请改正函数fun()中的错误,使它能得出正确的结果。
注童:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
include <stdio.h>
include <string.h>
include <conio.h>
char *fun (char tt[])
{
int i;
for(i=0; tt[i]; i++)
/**************found**************/
{ if(("A" <=tt[i]||(tt[i]<="z" ))
tt[i]+=32; }
return(tt);
}
main()
{int i;
char tt[81];
clrscr();
printf("nPlease enter a string:");
gets(tt);
printf("nThe result string is:n %s", fun(tt));
}请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:错误:if(('A' <=tt[i]||(tt[i]<='Z')) 正确:if((tt[i]>='A')&&(tt[i]<='Z'))
错误:if(('A' <=tt[i]||(tt[i]<='Z')) 正确:if((tt[i]>='A')&&(tt[i]<='Z')) 解析:从ASCII码表中可以看出,小写字母的ASCII码值比对应大写字母的ASCII码值大32。将字符串中的大写字母改为小写字母的方法是,从字符串第1个字符开始,根据ASCII码值判断该字母是不是大写字母,若是,则ASCII码值加32即可;重复执行以上过程直至字符串尾。本题可利用条件选择语句和循环语句来实现。

考点:大写字母,字符串