题目链接:
http://poj.org/problem?id=3749
题目大意:
凯撒大帝的加密方法是:将原文的每个字母分别用该字母后边的第5个字母替换。现在给你加密后
的信息,问信息原文是什么。
思路:
将加密消息的ASCII码值减去5,低于‘A‘字符的,ASCII码再加上26。直接输出即可。
AC代码:
#include<iostream> #include<algorithm> #include<cstdio> #include<cstring> using namespace std; char s[300]; int main() { while(gets(s)) { if(strcmp("ENDOFINPUT",s) == 0) break; else if(strcmp("START",s) == 0) { gets(s); int len = strlen(s); for(int i = 0; i < len; ++i) { if(s[i]>='A' && s[i]<='Z') { s[i] -= 5; if(s[i] < 'A') s[i] += 26; } } printf("%s\n",s); gets(s); } } return 0; }
原文:http://blog.csdn.net/lianai911/article/details/44679447