题目要求对给定字符串中的英文字母大小写互换。
总时间限制: 1000ms 内存限制: 65536kB
把一个字符串中所有出现的大写字母都替换成小写字母,同时把小写字母替换成大写字母。
输入一行:待互换的字符串。
输出一行:完成互换的字符串(字符串长度小于80)。
If so, you already have a Google Account. You can sign in on the right.
iF SO, YOU ALREADY HAVE A gOOGLE aCCOUNT. yOU CAN SIGN IN ON THE RIGHT.
英文大小写字母的ASCII码偏差是固定的,因此可以通过判别原来字母ASCII码的范围从而进行加减32的操作转换为结果。
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char str[81];
int i;
cin.getline(str, 81);
for(i = 0; i < strlen(str); ++i) {
if(str[i] >= 'a' && str[i] <= 'z') {
str[i] -= 32;
}
else if(str[i] >= 'A' && str[i] <= 'Z') {
str[i] += 32;
}
}
cout << str << endl;
return 0;
}
2689.cpp 代码长度:318B 内存:200kB 时间:10ms 通过率:96% 最小内存:200kB 最短时间:0ms
注意使用cin.getline来获取带有空格的输入,对于大小写互换,也可以采用按位运算的方法,但判断是必须的,我们无法知道是否含有其他符号。
有任何的改进意见欢迎大家在微信平台公众号主页面留言或者发表issue。