Problem Description
已知的最古老的一种加密技术是凯撒加密。该方法把一条消息中的每个字母用字母表中固定距离之后的那个字母来替代。如果越过了字母Z,会绕回到字母表的起始位置。例如,如果每个字母都用字母表中两个位置之后的字母代替,那么Y就被替换为A,Z就被替换为B。
编写程序用凯撒加密方法对消息进行加密。
注意:不是字母的字符不变,不改变字母的大小写。
Input Description
第一行输入待加密的消息(不超过100个字符)。
第二行输入一个整数n(1<=n<=25)。表示每个字母都用字母表中 n 个位置之后的字母代替。
Output Description
在一行中输出加密之后的消息。
Sample Input
Go ahead, make my day.
3
Sample Output
Jr dkhdg, pdnh pb gdb.

#include <stdio.h>
#define N 200
int main()
{int i, j, n, x;char a[N];for(i = 0; ; i++){scanf("%c", &a[i]);x = i;if(a[i] == '\n')break;}scanf("%d", &n);for(j = 0; j <= i; j++){if(a[j] >= 'A' && a[j] <= 'Z')a[j] = ((a[j] + n - 'A') % 26) + 'A';else if(a[j] >= 'a' && a[j] <= 'z')a[j] = ((a[j] + n - 'a') % 26) + 'a';printf("%c", a[j]);}return 0;
}

Problem C 凯撒加密相关推荐

  1. C语言凯撒密码字母向后偏移三位,凯撒加密解密(java字母移位)

    1.设计思想:加密就是将字符数据转化为ASC码表中的数字,a-w之间通过加3之后再转化为字符型输出,x-z之间通过转化为ASC码表中的数字后减去23再转化为字符型输出.解密就是将字符数据转化为ASC码 ...

  2. Python暴力破解凯撒加密的文本

    凯撒加密是一种经典加密算法,把文本中的每个英文字母替换为字母表中后面第k个字母.该加密算法的抗攻击能力比较弱,因为密钥(也就是k)的取值范围是固定的,很容易暴力破解.当然,也可以利用英文的统计特性(例 ...

  3. 蓝桥 卷“兔”来袭编程竞赛专场-09凯撒加密 题解

    赛题介绍 挑战介绍 恺撒密码也称恺撒加密.恺撒变换.变换加密,是一种最简单且最广为人知的加密技术.采用的是替换方法对信息中的英文字符循环替换为字母表序列中该字符后面或前面的第 N 个字符.例如当  N ...

  4. Java加密算法—凯撒加密实现以及暴力破解

    目录 1.概念 2.加密实现 3.解密实现 4.频率分析法破解 1.概念 凯撒密码最早由古罗马军事统帅盖乌斯·尤利乌斯·凯撒在军队中用来传递加密信息,故称凯撒密码.这是一种位移加密方式,只对26个字母 ...

  5. 简单移位密码——凯撒加密、解密算法

    简单移位密码--凯撒加密.解密算法 移位密码是简单的替换密码(simple substitution cipher),即将明文的一个字符用相应的一个密文字符替换. 算法描述:设P=C=K=Z26,对k ...

  6. php 凯撒加密解密,PHP脚本实现凯撒加(解)密

    今天在看某ctf时候遇到一题凯撒加密的题,然后看到write up里有这样一句 顿时感觉这题目有点坑啊,这要不写个脚本来跑要推到啥时候啊,于是又了本文: $text=" the text & ...

  7. python凯撒加密代码_解密题(凯撒密码)

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

  8. 凯撒加密的python语言程序_Python的凯撒密码加密为啥要ord(a),然后又减去?...

    当p为字母z时,试一下直接ord(p)+3就知道啦. 我假设老哥你已经懂了python语法,我就只讲讲凯撒加密.凯撒加密说白了就是偏移字母的位置,将原来的字母用它之后的第x个字母来代替原来的字母进行加 ...

  9. 凯撒加密的最简单的理解与实现(Java版)

    凯撒加密 前言 这是我的第一篇博客希望以后多多关注. 这篇文章起源于我在人工智能导论上的一次摸鱼◔ ‸◔,当时老师一节课都在脱离课本介绍,讲什么网络安全之类的问题,后面还举例子了一些加密方法巴拉巴拉, ...

最新文章

  1. java 根据圆心计算圆弧上点的经纬度_冲压件展开计算方法(二),转发给每一位冲压人...
  2. 关于IP、子网掩码、网关、和DNS相关理解
  3. matlab R2014a添加路径
  4. Linux基础命令--date
  5. 《高性能JavaScript》第一章 加载和执行
  6. 核心动画03-图标抖动.mp4
  7. ALV打印不显示打印界面的问题
  8. 【数据结构作业—02】双链表
  9. 【LeetCode笔记】剑指 Offer 06. 从尾到头打印链表(Java、翻转链表)
  10. Ubuntu14.04 LTS(64bit)彻底解决matplotlib中文乱码问题
  11. 【LOJ#10170】国王
  12. 用Python快速实现图片的风格迁移
  13. 基于OpenCV及Python的数独问题识别与求解(一)图像预处理
  14. MacOS Mojave 更换开机登录界面壁纸
  15. 认清自我,不在迷茫!2019个人年终总结!
  16. uniapp实现退出登录
  17. 周杰伦要出新专辑了?上 Instagram 看看
  18. Android 自定义按钮button 加图片和两行文字
  19. linux 使用team实现双网卡绑定单个IP
  20. 冲刺误区 | 一场失败的谷歌设计冲刺实践给我的启示

热门文章

  1. 调用别人的接口的几种方法
  2. lombok-plugins下载
  3. 凸透镜(普通的相机)概念模型及参数详解
  4. [Hello World] 素数筛C语言实现及优化
  5. element封装表格组件el-table-column列顺序错乱
  6. mysql 11关系图_用实体关系图进行数据库建模(PD11+Visio)
  7. 紧凑并列倒装式气液增压缸型号及应用
  8. 2021年中国网络直播行业发展现状及行业发展前景分析[图]
  9. 西方数学哲学在历史发展过程中,中国不能错过,错过不好办
  10. ACL访问控制列表实验报告