当前位置: 首页 > news >正文

7-2 凯撒密码 (20分)

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;
}

http://www.lryc.cn/news/105596.html

相关文章:

  • LeetCode_贪心算法_中等_763.划分字母区间
  • 【算法提高:动态规划】1.5 状态压缩DP TODO
  • 建网站一般使用Windows还是liunx好?
  • NodeJs后端项目使用docker打包部署
  • ARM单片机中断处理过程解析
  • 关于SEDEX会员与平台的相关问题汇总
  • 解读Spring-context的property-placeholder
  • 【Rust】枚举类型创建单链表以及常见的链表操作方法
  • Excel 两列数据中相同的数据进行同行显示
  • Windows本地安装配置Qcadoo MES系统
  • 涛思数据与拾贝云达成战略合作,携手赋能工业数字化转型
  • nginx 配置多域名多站点 Ubuntu
  • Docker实践:使用Docker搭建个人开发环境(极简版)
  • SQL从三个表中根据时间分别查询并汇总数量一行展示
  • 同样是跨端框架,React会不会被VUE取代?
  • Excel·VBA定量装箱、凑数值金额、组合求和问题
  • 通过Jmeter压测存储过程
  • Spring笔记之Spring对IoC的实现
  • 【eNSP】Telnet远程登录
  • SOP/详解*和**/python数据结构(iter,list,tuple,dict)/ 解包
  • 使用webdriver-manager解决浏览器与驱动不匹配所带来自动化无法执行的问题
  • 【vue】Vue中debugger报错 unexpected ‘debugger’ statement no-debugger
  • 课题方向a
  • 【Matter】基于Ubuntu 22.04 交叉编译chip-tool
  • Qt/C++音视频开发50-不同ffmpeg版本之间的差异处理
  • 低碳 Web 实践指南
  • 信息安全:网络安全体系 与 网络安全模型.
  • 【云原生】Serverless 技术架构分析
  • Visual Studio Code 设置文件头部添加作者、日期和函数注释
  • HCIA云计算 V5.0题库