问题描述
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 <stdio.h>
#include <string.h>
void map(char* mes, int length){
int i;
for(i = 0; i < length; i++){
if(mes[i] >= 'A' && mes[i] <= 'E')
mes[i] = 'Z' - 5 + (mes[i] - 'A' + 1) % ('Z' - 'A' + 1);
else if(mes[i] > 'E' && mes[i] <= 'Z')
mes[i] = mes[i] - 5;
}
}
int main(){
char start[20];
char input[20];
scanf("%s", start);
while(strcmp(start, "ENDOFINPUT")){
while(!strcmp(start, "START")){
char mes[201] = "";
scanf("%s", input);
while(strcmp(input, "END")){
strcat(mes, input);
strcat(mes, " ");
scanf("%s", input);
}
map(mes, strlen(mes));
printf("%s\n", mes);
scanf("%s", start);
}
//scanf("%s", start);
}
return 0;
}
分享到:
相关推荐
需要杰哥讲解的毕设js代码
但根据文件名,我们可以推测“杰哥”可能是资料的作者或提供者,而“两套卷”可能指的是两套数学练习题或模拟试卷,分别针对不同的数学领域。 【标签】虽然为空,但如果我们为这个文件添加标签,可能包括“数学”、...
C++自制小游戏《杰哥和阿伟》源码(cpp) C++小游戏,由哔哩哔哩的梗制作而成,切勿当真哦~ 游戏内行为请勿模仿! 原创小游戏,请勿转载或整改~ 记得关注@Ender_momo,短时间内将发布制作过程
前端面试题:前端框架面试题大全; 前端面试题:前端框架面试题大全; 前端面试题:前端框架面试题大全; 前端面试题:前端框架面试题大全; 前端面试题:前端框架面试题大全; 前端面试题:前端框架面试题大全; ...
有跟我一样看不懂代码,只能盲抄来理解的吗,杰哥看到了莫生气我自己现在真写不了好了,今天的案例与while语句有关
计算机组成原理期末题,计算机组成原理期末常见考试题大全 计算机组成原理期末题,计算机组成原理期末常见考试题大全 计算机组成原理期末题,计算机组成原理期末常见考试题大全 计算机组成原理期末题,计算机组成...
Google钟情于考察应聘者对于复杂问题的理解和解决能力,因此,其笔试题往往以编程和逻辑思维为重,这要求应聘者不仅要有扎实的计算机科学基础知识,还要具备出色的分析和抽象思维能力。例如,笔试中可能会出现涉及...
笔试面试算法题文档.zip 笔试面试算法题文档.zip 笔试面试算法题文档.zip 笔试面试算法题文档.zip 笔试面试算法题文档.zip 笔试面试算法题文档.zip 笔试面试算法题文档.zip 笔试面试算法题文档.zip 笔试面试算法题...
通过这些面试题的分析,我们可以认识到,成为一名优秀的C/C++程序员,不仅需要深厚的编程基础,还需要敏锐的问题洞察力和严谨的编程习惯。面试不仅是技术的比拼,更是思维方式和问题解决能力的体现。在准备面试的...
全国大学生数学建模大赛真题:2020年全国大学生数学建模竞赛 B 题 - “地下水污染源识别”; 全国大学生数学建模大赛真题:2020年全国大学生数学建模竞赛 B 题 - “地下水污染源识别”; 全国大学生数学建模大赛真题...
计算机类专业部分课后习题与详细解答分析.docx 计算机类专业部分课后习题与详细解答分析.docx 计算机类专业部分课后习题与详细解答分析.docx 计算机类专业部分课后习题与详细解答分析.docx 计算机类专业部分课后习题...
10道经典算法习题与详细解析.docx 10道经典算法习题与详细解析.docx 10道经典算法习题与详细解析.docx 10道经典算法习题与详细解析.docx 10道经典算法习题与详细解析.docx 10道经典算法习题与详细解析.docx ...
本人收集的几套百度笔试题。 doc格式,需要找工作的可以看看
无论市场环境如何变化,扎实的专业技能和良好的面试表现永远是求职者最有力的武器。因此,程序员们在准备面试时,应该重视面经的作用,从中学习和吸取前人的经验教训,提升自己的综合素质,以期在激烈的就业竞争中...
电赛历年真题查找与经典题目解析+编程知识+技术开发; 电赛历年真题查找与经典题目解析+编程知识+技术开发; 电赛历年真题查找与经典题目解析+编程知识+技术开发; 电赛历年真题查找与经典题目解析+编程知识+技术...
【Ceph分布式存储架构搭建】 Ceph是一种先进的开源分布式存储解决方案,它被广泛应用于OpenStack和CloudStack等云计算框架中,提供对象存储、文件系统和块存储服务。Ceph的独特之处在于其统一存储架构,支持多种...
美赛历年真题查找与经典题目解析+编程知识+技术开发; 美赛历年真题查找与经典题目解析+编程知识+技术开发; 美赛历年真题查找与经典题目解析+编程知识+技术开发; 美赛历年真题查找与经典题目解析+编程知识+技术...
使用 MATLAB 仿真经典算法的问题示例:实现二分搜索算法; 使用 MATLAB 仿真经典算法的问题示例:实现二分搜索算法; 使用 MATLAB 仿真经典算法的问题示例:实现二分搜索算法; 使用 MATLAB 仿真经典算法的问题示例...
ACM历年真题查找与经典题目解析+编程知识+技术开发; ACM历年真题查找与经典题目解析+编程知识+技术开发; ACM历年真题查找与经典题目解析+编程知识+技术开发; ACM历年真题查找与经典题目解析+编程知识+技术开发;...
蓝桥杯历年真题查找与经典题目解析+编程知识+技术开发; 蓝桥杯历年真题查找与经典题目解析+编程知识+技术开发; 蓝桥杯历年真题查找与经典题目解析+编程知识+技术开发; 蓝桥杯历年真题查找与经典题目解析+编程知识...