将输入字符序列ABCdef变换,大写转换为小写,小写转换为大写输出。
【输入形式】
输入仅一行,输入字符序列
【输出形式】
输出仅一行,字符转换。大写变小写,小写变大写,其它字符不变
【样例输入】ABC&d#ef
【样例输出】abc&D#EF
答案:
#include<stdio.h>
#include<string.h>//在使用字符串处理函数时,应当在程序文件的开头用到命令行。
int main()
{
char a[100];
int i,n;
scanf("%s",a);
n=strlen(a);//直接算出输入字符串个数,并将个数值赋给n。
for(i=0;i<=n-1;i++)
{
if(a[i]>=65&&a[i]<=90)
a[i]=a[i]+32;
else if(a[i]>=97&&a[i]<=112)
a[i]=a[i]-32;
}
printf("%s",a);
return 0;
}
【解析】本题使用了测量字符串的函数(strlen),数组。在本题中的a[100]中的100是自己随便赋予的,n为输入字符串的个数,用strlen直接判断输入字符串的个数,这样就不用一个一个字符串输入了,在循环结构中要注意i的起始值是0,不是1,因为i的值要和数组a[i]中的i相对应。scanf函数中的数组a前面不用增加地址符&,因为scanf函数中的输入项如果字符数组名,则不要再加地址符&。(解析为作者本人的见解,仅供参考)