本题要求编写程序,对一个以“#”结束的字符串,将其小写字母全部转换成大写字母,把大写字母全部转换成小写字母,其他字符不变输出。
输入格式:
输入为一个以“#”结束的字符串(不超过30个字符)。
输出格式:
在一行中输出大小写转换后的结果字符串。
我的答案:
#include <stdio.h>
int main()
{
char str1[30];//输入的字符串
char str2[30];//处理完的字符串
int i,len;
char ch;
ch = getchar();
for (i = 0; ch != '#'; i++)//输入字符串
{
str1[i] = ch;
len++;
ch = getchar();
}
for (i = 0; i < len; i++)//处理字符串
{
if (str1[i] >= 'A' && str1[i] <= 'Z')//大写转小写
{
str2[i] = str1[i] + 32;
}
else if (str1[i] >= 'a' && str1[i] <= 'z')//小写转大写
{
str2[i] = str1[i] - 32;
}
else//其他的字符不变
{
str2[i] = str1[i];
}
}
puts(str2);//输出处理完的字符串
return 0;
}
大写字母的ASCII值 + 32 == 小写字母的ASCII值