题目链接:
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