3691 - Caesar加密
时间限制 : 1 秒
内存限制 : 128 MB
据说凯撒大帝是最初发明了加密的人,用于军队传递消息。方法是将字母表中的字母,用其后的第5个字母代替。
比如a用f代替,z用e代替。
编写解密程序,输入密文,对密文进行解密,并输出解密后的原文。
考虑大小写,即密文中的大写字母,解密后的原文仍然是大写,密文中的小写字母,解密后是小写。其他字符原文和密文都是一样的。
例如:输入密文为:N qtaj dtz!,输出的的原文为:I love you!
题目输入
题目输出
输入/输出样例
输入格式
输出格式
C语言解答
#include <stdio.h> #include <string.h> int main() { int i,l; char a[100]; gets(a); l=strlen(a); for(i=0;i<l;i++) { if(a[i]=='a') a[i]='v'; else if(a[i]=='b') a[i]='w'; else if(a[i]=='c') a[i]='x'; else if(a[i]=='d') a[i]='y'; else if(a[i]=='e') a[i]='z'; else if(a[i]=='A') a[i]='V'; else if(a[i]=='B') a[i]='W'; else if(a[i]=='C') a[i]='X'; else if(a[i]=='D') a[i]='Y'; else if(a[i]=='E') a[i]='Z'; else if(a[i]==' ') { a[i]=' '; } else if(a[i]>='f'&&a[i]<='z'||a[i]>='F'&&a[i]<='Z') { a[i]-=5; } } puts(a); return 0; }
C++解答
#include<iostream> using namespace std; int main() { string a = "vwxyzabcdefghijklmnopqrstu";//密文转原文的表,小写 string b = "VWXYZABCDEFGHIJKLMNOPQRSTU";//密文转原文的表,大写 char c; while(cin.get(c)) { if(c>='a'&&c<='z') cout<<a[c-'a']; else if(c>='A'&&c<='Z') cout<<b[c-'A']; else cout<<c; } return 0; }