题干:

描述

据说最早的密码来自于罗马的凯撒大帝。消息加密的办法是:对消息原文中的每个字母,分别用该字母之后的第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

(注意:只有字母会发生替换,其他非字母的字符不变,并且消息原文的所有字母都是大写的。)

在最后一个数据集之后,是另一行:ENDOFINPUT。

输出:

输入

最多不超过100个数据集组成,每个数据集之间不会有空行,每个数据集由3部分组成: 1. 起始行:START 2. 密码消息:由1到200个字符组成一行,表示凯撒发出的一条消息. 3. 结束行:END

输出

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

输入样例 1

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

输出样例 1

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

解题报告:

直接转化成取模多好呀,代码又短又易读,非要switchcase、、、

AC代码:

#include<cstdio>
#include<queue>
#include<string>
#include<cstring>
#include<cmath>
#include<map>
#include<iostream>
#include<algorithm>
#define ll long long
const ll mod = 1e9+7;
using namespace std;
//char s[5005];
string s;
int main()
{while(1) {getline(cin,s);if(s == "START") continue;if(s == "END") continue;if(s == "ENDOFINPUT") break;        int len = s.length();for(int i = 0; i<len; i++) {if(s[i] >= 'A' && s[i] <= 'Z') {s[i] = (s[i] - 'A' + 26 - 5) % 26 + 'A';     }}cout << s << endl;}return 0 ;
}

【qduoj】C语言_凯撒密码相关推荐

  1. 凯撒密码c语言小写字母,凯撒密码c(c语言编程凯撒密码)

    凯撒密码c(c语言编程凯撒密码) 2020-05-15 13:09:51 共10个回答 #include#includeintmain(){charsave[10][30];inta,b,i,j;sc ...

  2. 运用python编写凯撒密码并实现_凯撒密码实现英文短句的加解密

    1. 将"We are students."这个英文词句用k=4的凯萨密码翻译成密码 1. 恺撒密码, 作为一种最为古老的对称加密体制,他的基本思想是: 通过把字母移动一定的位数来 ...

  3. java实现凯撒密码_凯撒密码--java实现

    关于凯撒密码的介绍我就不多说了,感兴趣的可以看什么是凯撒密码?,我主要说的是java如何实现. 我发现网上有写java加密解密的,写的时候发现只需要一个转换函数就可以了,可以作为加密用,也可以用作解密 ...

  4. c语言凯撒密码例题解题过程,C语言:凯撒密码的实现

    凯撒密码的实现(10分) 题目内容: 凯撒密码(caeser)是罗马扩张时期朱利斯?凯撒(Julius Caesar)创造的,用于加密通过信使传递的作战命令.它将字母表中的字母移动一定位置而实现加密. ...

  5. 凯撒密码c++语言程序,凯撒密码(加密与解密)

    下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. /******************************************** ...

  6. python密码学凯撒密码_凯撒密码在Python

    python密码学凯撒密码 Hello everyone, in this tutorial you'll learn about Caesar cipher in Python. If you ha ...

  7. C语言:凯撒密码的实现

    凯撒密码的实现(10分) 题目内容: 凯撒密码(caeser)是罗马扩张时期朱利斯?凯撒(Julius Caesar)创造的,用于加密通过信使传递的作战命令.它将字母表中的字母移动一定位置而实现加密. ...

  8. C语言实现凯撒密码加解密

    凯撒密码 加密即把a-z或A-Z的字母向后移动n个字符实现加密,若n=3的话,a对应d,z对应c,如此循环: 解密刚好和加密相反,加密向后移动的话解密就向前移动. 加密的C代码如下: #include ...

  9. 信息安全凯撒密码_凯撒密码| 网络安全

    信息安全凯撒密码 凯撒密码 (Caesar Cipher) Caesar Cipher is one of the simplest encryption techniques. In this, e ...

最新文章

  1. iOS面试准备之思维导图
  2. matlab的syms无法在函数中使用_Python函数中使用@
  3. postgreSQL的应用
  4. objective-c 方法加号(+) 减号(-)
  5. NGUI-制作位图字体以及图文混排
  6. hdu 1301 Jungle Roads 最小生成树
  7. go iscoinbase()_《电车GO!驰骋吧山手线》新情报:高分攻略与新模式介绍
  8. 蓝牙耳机声音一顿一顿的_这次让世界听听我们的声音——声阔SoundcoreLiberty2Pro蓝牙耳机...
  9. 在GDI+中如何实现以左下角为原点的笛卡尔坐标系
  10. 从文件夹内批量获取所有文件名 批处理脚本
  11. python3程序设计基础答案刘德山_!求大学python3程序设计基础答案 刘德山主编 网上找不到 希望大家帮帮忙...
  12. 【收藏】一千行 MySQL 学习笔记
  13. Pivotal Cloud Foundry安全原理解析
  14. 软件加入使用时间_2020年,加入“midi音乐制作讲堂”内部会员,学音乐制作变得更简单...
  15. 梅科尔工作室-PR第三次培训笔记(效果与转场及插件使用)
  16. 量化7年1000万知与行,回测量化7年如果只每月定投5.4万到沪深300指数基金,能否实现7年1000万
  17. 云服务平台重构点 @Arthur @Gyb
  18. C语言解析FLM(ELF)格式文件
  19. 揭开LiteOS的神秘面纱
  20. 纽约州立大学石溪分校肖可瓅:数据驱动的金融研究

热门文章

  1. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第14篇]什么是基于线性对的密码学
  2. [CodeForces-1138B] *Circus 解方程|数学
  3. python怎么创建字符串列表_Python(字符串,列表,元组,字典)
  4. B. Sifid and Strange Subsequences
  5. STM32实现USB虚拟串口原理(下)
  6. RT-Thread 简介及架构
  7. 360浏览器打不开网页_苹果移动端、PC端safari浏览器打不开网页的解决方案!
  8. WinCE OAL中的OEMIoControl函数
  9. linux 挂载32T文件系统,linux Centos下磁盘分区及文件系统创建与挂载(示例代码)
  10. selenium ruby和java_Selenium 2之Ruby版——安装篇