【问题描述】

Julius Caesar 生活在充满危险和阴谋的年代。为了生存,他首次发明了密码,用于军队的消息传递。假设你是Caesar 军团中的一名军官,需要把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个数据集组成。每个数据集由3部分组成:起始行:START 密码消息:由1到200个字符组成一行,表示Caesar发出的一条消息结束行:END 在最后一个数据集之后,是另一行:ENDOFINPUT

【输出形式】

每个数据集对应一行,是Caesar 的原始消息。

【样例输入】
START
NS BFW, JAJSYX TK NRUTWYFSHJ FWJ YMJ WJXZQY TK YWNANFQ HFZXJX
END
START
N BTZQI WFYMJW GJ KNWXY NS F QNYYQJ NGJWNFS ANQQFLJ YMFS XJHTSI NS WTRJ
END
START
IFSLJW PSTBX KZQQ BJQQ YMFY HFJXFW NX RTWJ IFSLJWTZX YMFS MJ
END
ENDOFINPUT

【样例输出】

IN WAR, EVENTS OF IMPORTANCE ARE THE RESULT OF TRIVIAL CAUSES
I WOULD RATHER BE FIRST IN A LITTLE IBERIAN VILLAGE THAN SECOND IN ROME
DANGER KNOWS FULL WELL THAT CAESAR IS MORE DANGEROUS THAN HE
//数组模拟
//先将每个字符存入数组
#include<iostream>
using namespace std;
int main(){char ch[26]={'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'};string start,cipher,end;while(getline(cin,start)&&start!="ENDOFINPUT"){getline(cin,cipher);//记得回收回车getline(cin,end);for(int i=0;i<(int)cipher.length();i++){int place,place2;if(cipher[i]>='A'&&cipher[i]<='Z'){for(int j=0;j<26;j++)if(ch[j]==cipher[i]){place=j;break;}place2=place-5;if(place2<0)place2+=26;cipher[i]=ch[place2];}cout<<cipher[i];}cout<<endl;//注意格式}
} 

4.20 恺撒Caesar密码相关推荐

  1. 湖南大学21夏训练四20.恺撒Caesar密码

    [问题描述] Julius Caesar 生活在充满危险和阴谋的年代.为了生存,他首次发明了密码,用于军队的消息传递.假设你是Caesar 军团中的一名军官,需要把Caesar 发送的消息破译出来.并 ...

  2. 4.20. 恺撒Caesar密码

    [问题描述] Julius Caesar 生活在充满危险和阴谋的年代.为了生存,他首次发明了密码,用于军队的消息传递.假设你是Caesar 军团中的一名军官,需要把Caesar 发送的消息破译出来.并 ...

  3. 恺撒Caesar密码

    题目描述 [问题描述] Julius Caesar 生活在充满危险和阴谋的年代.为了生存,他首次发明了密码,用于军队的消息传递.假设你是Caesar 军团中的一名军官,需要把Caesar 发送的消息破 ...

  4. 古典密码算法 凯撒(Caesar)密码,又叫循环移位密码

    古典密码算法曾被广泛应用,大都比较简单,使用手工和机械操作来实现加密和解密.它的主要应用对象是文字信息,利用密码算法实现文字信息的加密和解密.下面介绍两种常见的具有代表性的古典密码算法,以帮助读者对密 ...

  5. Caesar(恺撒)密码加密解密-----Java实现

    Caesar密码是传统的代替加密法,当没有发生加密(即没有发生移位)之前,其置换表如1-1所示. 表1-1  Caesar置换表 a b c d e f g h i j k l m A B C D E ...

  6. c语言caesar密码编程,C语言程序设计#凯撒Caesar密码

    #include #include//颜色 using namespace std; int jiami(); int jiemi(); int main() { printf("***** ...

  7. 密码学之恺撒加密(03)

    恺撒加密 文章目录 恺撒加密 一.中国古代加密 二.外国加密 三.凯撒位移加密 四.凯撒加密和解密 五.频度分析法破解恺撒加密 密码棒 频率分析解密法 英文字母频率统计表: 以下是本篇文章正文内容 一 ...

  8. 题目 1214: 恺撒密码

    时间限制: 1Sec 内存限制: 128MB 题目描述:(原题链接) 恺撒生活在充满危险和阴谋的时代. 恺撒面对的最困难的问题是生存. 为了生存, 他决定创造一种密码. 这种密码听起来难以置信, 如果 ...

  9. Python 之恺撒密码加密算法

            恺撒密码(Caesar cipher),又称恺撒加密.恺撒变换.变换加密,是一种最简单且最广为人知的加密技术.它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个 ...

最新文章

  1. 玩转花式截图、录屏——FastStoneCapture使用指南
  2. java swing图形界面开发 java.swing简介
  3. 非常详尽的 Shiro 架构解析!
  4. datatables 无法 无法重新初始化datatable_伽巫塔罗:2020年9月运势占卜,摩羯没了热情,无法重新卡死...
  5. nchar,char,varchar与nvarchar区别
  6. i12蓝牙耳机使用说明书图片_配置强悍、适用于开车、运动的蓝牙耳机Xisem西圣 Ares使用体验...
  7. Linux工作笔记-配置.bashrc或.cshrc使core文件产生(方便gdb调试)
  8. AngularJs编辑器
  9. oracle cost小 比较慢,Oracle数据库中有关CBO优化的三个问题
  10. 最新Java全套开发视频教程
  11. python中pandas库的作用_Python数据分析之Pandas库(笔记)
  12. 【OpenGL ES】纹理
  13. ZZULIOJ 1919 D
  14. SQL面试必考——计算留存率
  15. windows输入法第一次输入的时候有时候不给我中文提示
  16. 【jQuery基础语法】上
  17. 苹果手表与服务器连接中断,Apple Watch与iPhone连接不上怎么办【解决方案】
  18. php42天日历,php实现的日历程序
  19. Java生成随机数的方式
  20. JDK1.8下载安装与环境变量配置(Win7)

热门文章

  1. Java练习---运算符
  2. 美团yolov6初体验
  3. Activiti工作流浅析
  4. 【译】使用Node.js创建命令行脚本工具
  5. php开启swoole,swoole如何启动
  6. Jackson json转为java对象时遇到不规范的命名规则处理
  7. [Leetcode] 774. Minimize Max Distance to Gas Station 解题报告
  8. js null undefine
  9. 调用的目标发生了异常。问题处理
  10. 软件评测师——软件工程基础知识2