【问题描述】输入一个字符,如果是大写字母则转换为对应的小写字母,如果是小写字母则转换为对应的大写字母,如果是数字字符则转换为对应的数值,并计算其平方值,如果都不是则不转换,将转换后的结果输出。
【输入形式】一个字符
【输出形式】一个字符或一个整数值
【样例输入1】b
【样例输出1】B
【样例输入2】Y
【样例输出2】y
【样例输入3】3
【样例输出3】9
【样例输入4】?
【样例输出4】?
解析: if else结构即可搞定。
#include<iostream>
using namespace std;
int main()
{
char c;
cin>>c;
if(c>=65&&c<=90) cout<<(char)(c+32);
else if(c>=97&&c<=122) cout<<(char)(c-32);
else if(c>=48&&c<=57) cout<<(c-48)*(c-48);
else cout<<c;
}
补充说明
一些字符的ASCII码对应的数值
字符 | ASCII码数值 |
---|---|
0 | 48 |
9 | 57 |
A | 65 |
Z | 90 |
a | 97 |
z | 122 |
【注】:
1)[‘0’,‘9’],[‘A’,‘Z’],[‘a’,‘z’]的ASCII码是连续的。
2)如果记不住,可以用’ '来括住字符来表示数字。如:
if(a>=48&&a<=57)与if(a>=‘0’&&a<=‘9’)是等效的。
3)注意输入特殊符号的时候要在英文状态下输入。怎么说呢,我的理解是第一台计算机在美国宾夕法尼亚大学问世,所以编译语言是英语,也就是说只有英文相关的字符是用ASCII码来编译;而其他国家的语言,包括汉字,是用另一套叫做UNICODE的编码来编译的,有216个单位容量,可以容纳足够多的汉字等非英语语言。