首页 > 其他 > 详细

POJ3749 破译密码【字符密码】

时间:2015-03-27 17:19:25      阅读:198      评论:0      收藏:0      [点我收藏+]

题目链接:

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;
}


POJ3749 破译密码【字符密码】

原文:http://blog.csdn.net/lianai911/article/details/44679447

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!