Skip to content

Latest commit

 

History

History
56 lines (43 loc) · 1.6 KB

2689.md

File metadata and controls

56 lines (43 loc) · 1.6 KB

大小写 2689: 大小写字母互换

题目要求对给定字符串中的英文字母大小写互换。

题目来源

2689: 大小写字母互换

总时间限制: 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。