问题描述
编写一个程序,输入一个字符串(长度不超过20),然后把这个字符串内的每一个字符进行大小写变换,即将大写字母变成小写,小写字母变成大写,然后把这个新的字符串输出。
输入格式:输入一个字符串,而且这个字符串当中只包含英文字母,不包含其他类型的字符,也没有空格。
输出格式:输出经过转换后的字符串。
输入输出样例
样例输入
AeDb
样例输出
aEdB
已经忘了a和A那个的ascii码大了,于是愉快地编了个程序输出了一下:
#include<iostream>
#include<string>
using namespace std;
main() {
char a,A;
a='a';
A='A';
printf("a%d\n",a);
printf("A%d\n",A);
return 0;
}
输出结果显示a大,
a97
A65
两者相差32,所以A+32=a,a-32=A。
下面上代码:
#include<iostream>
#include<string>
using namespace std;
main() {
string cha;
cin>>cha;//输入字符串
for(int i=0; i<cha.length(); i++) {//比较每个字符串,小写字母-32,大写字母+32
if(cha[i]<'a')
cha[i]+=32;
else
cha[i]-=32;
}
for(int i=0; i<cha.length(); i++) {//输出
cout<<cha[i];
}
return 0;
}