题目描述:
输入一串原文,对文中的所有英文字母进行加密,其它字符不变,最后输出加密结果。加密规则如下表所示:
原字 | A | B | C | … | X | Y | Z | a | b | c | … | x | y | z |
密字 | z | y | x | … | c | b | a | Z | Y | X | … | C | B | A |
如:
输入格式:
一串字符,以#结束。
输出格式:
一串加密后的对应字符。
样例输入:
Believe in yourself.I can because I think I can. Never say die.#
样例输出:
yVORVEV RM BLFIHVOU.r XZM YVXZFHV r GSRMP r XZM. mVEVI HZB WRV.
提示:
一个个字符读入,使用 c=getchar() 的方法。
注:Ⅰ. ‘A'的ASCII码值是65,'a'的ASCII码值是97。
Ⅱ. int( )可以取某个字符的ascII码,如int('A')类型转换后的值是65。
Ⅲ. char( )把ascII码转换成对应的字符,如char( 65 )类型转换后的值是‘A’。
时间限制: 1000ms
空间限制: 256MB
代码如下:
#include<bits/stdc++.h>
using namespace std;
int main(){
char a[101];
cin.getline(a,101);
int s=strlen(a);
for(int i=0;i<s;i++){
if((a[i]>='A'&&a[i]<='Z')||(a[i]>='a'&&a[i]<='z')){
a[i]='A'+'z'-a[i];
}
if(a[i]!='#'){
cout<<a[i];
}
}
return 0;
}