打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
1127.简单密码
题目描述:

Julius Caesar曾经使用过一种很简单的密码。
对于明文中的每个字符,将它用它字母表中后5位对应的字符来代替,这样就得到了密文。
比如字符A用F来代替。如下是密文和明文中字符的对应关系。
密文
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
明文
V W X Y Z A B C D E F G H I J K L M N O P Q R S T U 
你的任务是对给定的密文进行解密得到明文。
你需要注意的是,密文中出现的字母都是大写字母。密文中也包括非字母的字符,对这些字符不用进行解码。

输入:

输入中的测试数据不超过100组。每组数据都有如下的形式,而且各组测试数据之间没有空白的行。
一组测试数据包括三部分:
1.    起始行 - 一行,包括字符串 "START" 
2.    密文 - 一行,给出密文,密文不为空,而且其中的字符数不超过200
3.    结束行 - 一行,包括字符串 "END" 
在最后一组测试数据之后有一行,包括字符串 "ENDOFINPUT"。

输出:

对每组数据,都有一行输出,给出密文对应的明文。

样例输入:
STARTNS BFW, JAJSYX TK NRUTWYFSHJ FWJ YMJ WJXZQY TK YWNANFQ HFZXJXENDSTARTN BTZQI WFYMJW GJ KNWXY NS F QNYYQJ NGJWNFS ANQQFLJ YMFS XJHTSI NS WTRJENDSTARTIFSLJW PSTBX KZQQ BJQQ YMFY HFJXFW NX RTWJ IFSLJWTZX YMFS MJENDENDOFINPUT
样例输出:
IN WAR, EVENTS OF IMPORTANCE ARE THE RESULT OF TRIVIAL CAUSESI WOULD RATHER BE FIRST IN A LITTLE IBERIAN VILLAGE THAN SECOND IN ROMEDANGER KNOWS FULL WELL THAT CAESAR IS MORE DANGEROUS THAN HE
来源:
2008年北京大学方正实验室计算机研究生机试真题

 

#include<iostream>#include<cstring>using namespace std;int main(){    string s,end;    while(getline(cin,s) && s!="ENDOFINPUT"){        if(s=="START"){            getline(cin,s);            getline(cin,end);            for(int i=0;i<s.size();i  ){                if(s[i]>='F' && s[i]<='Z'){                    s[i]=s[i]-5;                }                else if(s[i]>='A' && s[i]<='E'){                    s[i]=s[i] 21;                }                cout<<s[i];            }            cout<<endl;        }    }    return 0;}

 

来源:http://www.icode9.com/content-4-32701.html
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
3、对象、消息和数据输入
CPP的输入输出流和缓冲区
cin深入分析(上) - cin输入操作处理(转)_斯莱克威
C字符数组和C++字符串
输入输出
C++之标准设备IO操作流
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服