本题要求编写程序,对一个以“#”结束的字符串,将其小写字母全部转换成大写字母,把大写字母全部转换成小写字母,其他字符不变输出。 输入格式: 输入为一个以“#”结束的字符串(不超过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值