算法训练 大小写转换
时间限制:1.0s 内存限制:512.0MB
提交此题
问题描述
编写一个程序,输入一个字符串(长度不超过20),然后把这个字符串内的每一个字符进行大小写变换,即将大写字母变成小写,小写字母变成大写,然后把这个新的字符串输出。
输入格式:输入一个字符串,而且这个字符串当中只包含英文字母,不包含其他类型的字符,也没有空格。
输出格式:输出经过转换后的字符串。
输入输出样例
样例输入
AeDb
样例输出
aEdB
分析:一个字符串的大小写互换,主要思路就是遍历整个字符串,将每一个字符大小写互换。
由于大小写字母的ascll码差为32,大写A的ascll码为65,小写a的ascll码为97。所以我们可以通过ascll码来实现判断该字符为大写还是小写,并进行转换。代码如下:
#include <iostream>
using namespace std;
int main()
{
char ch[20], *p = ch;
cin >> ch;
while(*p)
{
if(*p < 97)
*(p++) += 32;
else
*(p++) -= 32;
}
cout << ch;
return 0;
}