填空题
1. 请补充函数proc(),该函数的功能是:将字符串str中的大写字母都改为对应的小写字母,其他字符不变。
例如,若输入“How Are You?”,则输出“how are you?”。
注意:部分源程序如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。
试题程序: #include<stdio.h>
#include<string.h>
#include<conio.h>
char *proc(char str[])
{
int i;
for(i=0;str[i];i++)
{
if((str[i]>='A')&&(______))
______;
}
return(______);
}
void main()
{
char str[81];
printf("\nPlease enter a string:");
gets(str);
printf("\nThe result string is: \n%s",
proc(str));
}
【正确答案】
1、str[i]<='Z'
str[i]+=32
str
【答案解析】 要将字符串中所有的大写字母改为对应的小写字母,首先应该找出字符串中所有的小写字母。判断一个字符是否是大写字母,只要看其是否在A和Z之间,因此,第一空处填“str[i]<='Z'”。每找到一个大写字母,就将其改为小写字母。大写字母与小写字母之间的关系为ASCII码值相差32,因此,第二空处填“str[i]+=32”。得到的新的字符串放在str中,要将其返回给主函数,因此,第三空处填“str”。