7-2 凯撒密码 (20分)
为了防止信息被别人轻易窃取,需要把电码明文通过加密方式变换成为密文。输入一个以回车符为结束标志的字符串(少于80个字符),再输入一个整数offset,用凯撒密码将其加密后输出。恺撒密码是一种简单的替换加密技术,将明文中的所有字母都在字母表上偏移offset位后被替换成密文,当offset大于零时,表示向后偏移;当offset小于零时,表示向前偏移。

输入格式:
输入第一行给出一个以回车结束的非空字符串(少于80个字符);第二行输入一个整数offset。

输出格式:
输出加密后的结果字符串。

输入样例1:
Hello Hangzhou
2
输出样例1:
Jgnnq Jcpibjqw
输入样例2:
a=x+y
-1
输出样例2:
z=w+x

答案在下面:

/*本题测试点总结:①输入的n值,需要对26取模,因为n的值有可能在26的绝对值之外;②n值为负数或正数时,需要判断一下,如果小于0,则加上26,如果大于零,不要加上额外的26;
*/
#include<stdio.h>
#include<string.h>
int main()
{int n,m,i,k;char ch1[100]={0};gets(ch1);scanf("%d",&n);n = n%26; int len1 = strlen(ch1);for(i=0;i<len1;i++){if(ch1[i]>='a'&&ch1[i]<='z'){if(n>=0) ch1[i] = ((ch1[i]-'a') + n)%26+'a';else if(n<0) ch1[i] = ((ch1[i]-'a') + n+26)%26+'a';}else if(ch1[i]>='A'&&ch1[i]<='Z'){if(n>=0) ch1[i] = ((ch1[i]-'A') + n)%26+'A';else if(n<0) ch1[i] = ((ch1[i]-'A') + n+26)%26+'A';}}ch1[i] = '\0';printf("%s",ch1); return 0;
}

7-2 凯撒密码 (20分)相关推荐

  1. 7-137 凯撒密码 (20 分)

    7-137 凯撒密码 (20 分) 为了防止信息被别人轻易窃取,需要把电码明文通过加密方式变换成为密文.输入一个以回车符为结束标志的字符串(少于80个字符),再输入一个整数offset,用凯撒密码将其 ...

  2. 凯撒密码 (20 分)

    为了防止信息被别人轻易窃取,需要把电码明文通过加密方式变换成为密文.输入一个以回车符为结束标志的字符串(少于80个字符),再输入一个整数offset,用凯撒密码将其加密后输出.恺撒密码是一种简单的替换 ...

  3. 7-14 凯撒密码 (10 分)

    7-14 凯撒密码 (10 分) #include <iostream> #include <algorithm> #include <cstdio> using ...

  4. 凯撒密码加密算法 (8 分)

    凯撒密码加密算法 (8 分) 编写一个凯撒密码加密程序,接收用户输入的文本和密钥k,对明文中的字母a-z和字母A-Z替换为其后第k个字母. 输入格式: 接收两行输入,第一行为待加密的明文,第二行为密钥 ...

  5. 【密码学-凯撒密码】

    现代密码学-单表代换密码 凯撒密码原理 移位变换 仿射变换 代码实现-凯撒密码 代码实现-放射变换 凯撒密码原理 凯撒密码的加密代换和解密代换分别为 c=Ek(m)=m+3(mod26)c=E_{k} ...

  6. Python实现凯撒密码的加密与解密

    在密码学中,我们把想要加密的消息叫做明文(plain text).把明文转换成加密后的消息叫做对明文加密(encrypting),明文加密后变成(cipher text). 凯撒密码的密钥是1到26之 ...

  7. python凯撒密码详解_Python基础题目集--课堂案例

    这些案例均为在校期间学习<python基础编程>课程的案例,适合初学者练手~ 1.输入分数,返回等级 ''' 分数区间为0~100,等级:A(>=90).B(>=80).C(& ...

  8. python凯撒密码实现_密码:凯撒密码及其Python实现

    python凯撒密码实现 Before we start let's some basic terminology... 在开始之前,让我们先介绍一些基本术语... The art and scien ...

  9. 凯撒密码和栅栏密码 - 密码学01

    凯撒密码和栅栏密码 让编程改变世界 Change the world by program 我们将会学到什么?! 这相信是大家广泛关注的话题,因为如果一开始给大家一个强大而震撼的目录,然后就是一屁股的 ...

最新文章

  1. 谷歌出品EfficientNet:比现有卷积网络小84倍,比GPipe快6.1倍
  2. CPU是如何制造出来的
  3. 思科交换机vlan配置
  4. 全球及中国苯基异丙基聚二甲基硅氧烷市场需求调查与竞争格局策略报告2022版
  5. linux 查看服务器性能常用命令
  6. 使用python的openpyxl模块操作excel
  7. 访问控制权限和 ------java命名规范
  8. 水印相机定位不准确怎么办_水印相机怎么定位位置
  9. python matrix用法_详解使用python绘制混淆矩阵(confusion_matrix)
  10. w ndows无法完成格式化,win10系统windows无法完成格式化的处理方法
  11. xmake经验总结1:解决c++ future/promise抛出std::system_error的问题
  12. 别人犯错给自己的警醒(二):人取得成就之后很容易膨胀
  13. (六)我的JavaScript系列:更好的JavaScript之CoffeeScript
  14. 兆芯国产电脑如何安装Windows+麒麟kylin双系统
  15. [python] paramiko实现SSH和SFTP
  16. java项目实验报告_javaweb项目实验报告.docx
  17. cad2014打开出现显示驱动程序缺少或损坏
  18. https的FTP文件下载
  19. 2020上半年勒索病毒报告:勒索手段升级,不交赎金就公开数据
  20. 应用宝SDK YSDK登录验证服务端

热门文章

  1. 文件加密—巧用闪灵文件夹锁隐藏视频
  2. 输入一行字符,编程统计其中有多少个单词。假设单词之间以一个或多个空格分开。
  3. hibernate4.x自动建表时候创建外键失败ERROR: HHH000389: Unsuccessful: alter table ORDERS_NOPK1 add index
  4. 将毫秒换算成天、时、分、秒
  5. IDEA编写SQL语句没有提示
  6. TP LINK GRE L2TP介绍
  7. Linux小小白入门教程(十):管道命令
  8. 如何打开heic heic格式安卓查看方法
  9. linux12k8s --> 06Pod详解
  10. 【中关村区块链产业联盟秘书长朱佩江:区块链泡沫并非坏事】