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

输入格式:

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

输出格式:

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

输入样例1:

Hello Hangzhou
2

结尾无空行

输出样例1:

Jgnnq Jcpibjqw

结尾无空行

输入样例2:

a=x+y
-1

结尾无空行

输出样例2:

z=w+x

结尾无空行

#include<stdio.h>
#include<string.h>
int main()
{
    char a[81];
    gets(a);
    int len=strlen(a);
    int x;
    scanf("%d",&x);
    x=x%26;
    int i;
    for (i=0;i<len;i++)
    {
        if (a[i]>='a'&&a[i]<='z')
        {
            a[i]=(a[i]-'a'+x+26)%26+'a';
        }
        else if (a[i]>='A'&&a[i]<='Z')
        {
            a[i]=(a[i]-'A'+x+26)%26+'A';
        }
    }
    puts(a);
    return 0;
}

pta c语言 凯撒密码相关推荐

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

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

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

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

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

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

  4. 凯撒密码C语言去掉空格字符,凯撒密码C语言实现

    <凯撒密码C语言实现>由会员分享,可在线阅读,更多相关<凯撒密码C语言实现(8页珍藏版)>请在人人文库网上搜索. 1.凯撒密码是一种非常古老的加密方法, 相传当年凯撒大地行军打 ...

  5. 凯撒加密的python语言程序_python实现凯撒密码、凯撒加解密算法

    凯撒密码的原理:计算并输出偏移量为3的凯撒密码的结果 注意:密文是大写字母,在变换加密之前把明文字母都替换为大写字母 def casar(message): # *************begin* ...

  6. 凯撒密码加密解密C语言详细代码

    凯撒密码加密解密C语言详细代码 凯撒密码 又叫循环移位密码.它的加密方法,就是将明文中的每个字母用此字符在字母表中后面第k个字母替代.它的加密过程可以表示为下面的函数: E(m)=(m+k) mod ...

  7. 凯撒密码加密、解密、暴力破解(C语言实现)

    C语言设计,替换密码开发设计,2022年9月信息安全课程作业分享 #include<stdio.h> #include<string.h> #include<stdlib ...

  8. 凯撒密码(Caesar)的原理和算法实现(C语言)

    凯撒密码(Caesar)的原理和算法实现 1.凯撒密码的原理: 它是一种古典密码体质下的一种密码,是一种移位密码,具有单表密码的性质,密文和明文都使用同一个映射,为了保证加密的可逆性,要求映射都是一一 ...

  9. 凯撒密码C语言去掉空格字符,凯撒密码的问题C语言

    满意答案 xlaijing19 推荐于 2016.04.01 采纳率:43%    等级:12 已帮助:6257人 最低0.27元开通文库会员,查看完整内容> 原发布者:耿万德 凯撒密码是一种非 ...

最新文章

  1. PostgreSQL:创建自增序列id,分区表,分区表子表
  2. 系统变量与环境变量的关系
  3. Linux运维课程 第一阶段 重难点摘要(六)CISCO
  4. 实例讲解《Microsoft AJAX Library》(2):DomEvent类
  5. linux保存输出结果到txt
  6. pyecharts运行了但是没有图_新版pyecharts,Python可视化so easy and powerful !
  7. java中逗号怎么加_Java中如何将字符串从右至左每三位加一逗号
  8. python筛选法求素数讲解_埃氏筛选法求素数 Python
  9. C++PrimerPlus学习——第六章编程练习
  10. 电梯停靠问题---------------给你出道题
  11. 【转】ASP.NET 2.0中Page事件的执行顺序
  12. 编程语言排行分析,从2009到2019。
  13. Git使用教程之从远程库克隆项目(四)
  14. 新概念英语精讲 钟平 pdf_新概念英语三()
  15. 使用zabbix_sender发送文本
  16. 微信公众号开发【一】 菜单获取与设置
  17. docker pull redis 镜像
  18. FLAC3D 的入门介绍
  19. kali终端打不开以及msfconsole打不开
  20. 【bzoj2121】字符串游戏 【动态规划dp】

热门文章

  1. ubuntu18.04中tomcat8.5启动时报找不到JAVA_HOME和JRE_HOME
  2. 关于msi格式的程序包的安装
  3. Java线程之CompletionService批处理任务
  4. 谈谈如何学习Linux操作系统
  5. 信息安全系统设计基础第四次实验报告 201352012013530620135307
  6. [No000014]听说不背单词,考英语会是这种下场-我们为什么必须背单词?
  7. (转)python 搭建libsvm方法。python版本和libsvm版本匹配很重要!
  8. Hibernate 添加数据 一 (一对多)
  9. 【转载】 C#使用string.IsNullOrWhiteSpace方法判断字符串是否为非空字符
  10. Docker+Teamcity+Maven+SVN搭建持续集成环境