题目描述
给定一个字符 chch,请输出对 chch 镜像加密后的字符。镜像加密的规则如下:
- 如果 chch 是一个大写字母,输出大写字母表中
ABCDEFGHIJKLMNOPQRSTUVWXYZ沿中心镜像对称的字母。例如- 对
A输出Z, - 对
Y输出B。
- 对
- 如果 chch 是一个小写字母,输出小写字母表中
abcdefghijklmnopqrstuvwxyz沿中心镜像对称的字母。例如- 对
a输出z, - 对
y输出b。
- 对
- 如果 chch 是一个数字字符,输出数字字符表中
0123456789沿中心镜像对称的数字。例如- 对
0输出9, - 对
8输出1。
- 对
输入格式
- 单个字符
输出格式
- 表示输入字符的镜像加密内容
数据范围
- 保证输入字符是大写字母、小写字母或数字中的一种
样例数据
输入:
c
输出:
x
输入:
4
输出:
5
题解:找到字符和数字的ascii的开始和结束的位置的ascii码。使用数学方法,比如把a=97和z122的ascii加在一起 等于219,减去输入的字符比如输入的b,则b=98 219-98 =121,则为y的ascii,再转化成数字字符即可。
cpp
#include <iostream>
#include<cmath>
using namespace std;
int main() {
char a;
cin>>a;
if(a<=122&&a>=97){
cout<<char(219-a);
}else if(a<=90&&a>=65){
cout<<char(155-a);
}else{
cout<<char(105-a);
}
return 0;
}