凯撒加密(Caesar cipher)是一种简单的消息编码方式:它根据字母表将消息中的每个字母移动常量位k。举个例子如果k等于3,则在编码后的消息中,每个字母都会向前移动3位:a会被替换为d;b会被替换成e;依此类推。字母表末尾将回卷到字母表开头。于是,w会被替换为z,x会被替换为a。

#include<stdio.h>


int main(){
    char c;

    //一定要注意  在C语言中 双引号是字符串,单引号是字符;在这里一定是单引号,如果是双引号,会发生while永不结束

    while((c=getchar())!='\n'){         

        
        if( (c<='Z' && c>='A') || (c<='z' && c>='a') ){
            c = c + 4 ;
            if((c>'z'&& c<='z'+4) || (c>'Z'&& c<='Z'+4)){
                c = c-26;
            }
            printf("%c",c);
        }
        
    }
    printf("\n");

}

1.

假设输入abcde(回车)
他是把abcde(回车)放到内存中,然后逐个付给c
首先是c='a',然后判断c是否等于‘\n’也就是回车。如果不是则继续循环。接着c='b'。同理,当c=(回车)时,c='\n',结束循环~

如果是设置为:

while((c=getchar())!="\n"){ 

再输入 abcde(回车)
最后判断c是否等于
"\n"
,然而"\n"不是回车,回车是'\n',所以发生while死循环等待用户输入字符的现象,而不会终止程序的运行


2.

while((c=getchar())!='\n')与while(c=getchar()!='\n')的区别

因为赋值符的优先级最低,
所以前面那个c获取的是输入的字符,
后面那个得到的是getchar()!='\n'表达式判断结果。

凯撒加密caesar相关推荐

  1. 凯撒加密Caesar cipher与古典密码

    凯撒加密的由来 凯撒加密正是凯撒大帝发明的,是一种古典的加密 凯撒率军征服高卢,袭击日耳曼和不列颠,古罗马开启了走出意大利,征服全欧洲的征程 仅用8年时间征服高卢后,凯撒率军越过卢比孔河,驱赶政敌,成 ...

  2. Python 简单的凯撒加密

    凯撒加密(Caesar Code)是一种简单的消息编码方式:它根据字母表将消息中的每个字母移动常量位k.举个例子如果k等于3,则在编码后的消息中,每个字母都会向前移动3位:a会被替换为d:b会被替换成 ...

  3. 凯撒(Caesar)加密解密算法C/C++实现

    任成风 2018年5月20日星期日 博客首发地址:个人博客网站 http://fairycity.wang,内容以个人博客为主,修正后的博文见个人博客,请点击访问. 本文的框架: 摘要和关键字: 1. ...

  4. 文件加密(一) 凯撒加密(Caesar cipher)

    算法一 : 凯撒加密  (只能对英文的txt)   将每个字符的ASCII码相对于设置的偏移量偏移 #include <iostream> #include <fstream> ...

  5. 0宽字符加密_使用 Go 语言实现凯撒加密

    在 2 世纪, 发送机密消息的一个有效方法就是对每个字母进行位移, 使得 'a' 变为 'd' , 'b' 变为 'e' , 依次类推. 这样处理产生的结果看上去就像是一门外语: L fdph, L ...

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

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

  7. 凯撒(caesar)密码加解密方法

    凯撒加密(Caesarcipher)是一种简单的消息编码方式:它根据字母表将消息中的每个字母移动常量位k. 举个例子如果k等于3,则在编码后的消息中,每个字母都会向前移动3位: a会被替换为d:b会被 ...

  8. 凯撒密码(Caesar)

    凯撒密码(Caesar) 加密对象: 大小写字母 原理: 是一种移位加密方法,给每个字母排个索引,字母a-z索引依次为0-25 偏移量是多少就向后面移动多少 如:密文"Abc",偏 ...

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

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

最新文章

  1. sizeof 使用注意
  2. 分布式系统中处理参数配置的 4 种方案
  3. [BUUCTF-pwn]——picoctf_2018_rop chain
  4. HDU - 1054 Strategic Game(最小点覆盖-二分图最大匹配)
  5. shell脚本获取系统的前一天日期,格式为yyyymmdd
  6. json字符串导入oracle,如何在Oracle中将JSON字符串转换为JSON
  7. LA 3458——Bridge
  8. std::tuple 和 std::tie 的用法简介
  9. 如何用3DsMax制作笔记本电脑
  10. win7查询计算机硬盘sn,电脑win7系统查询硬盘序列号的方法
  11. 计算机网络按拓扑结构可以划分为,计算机网络按拓扑结构分为哪些
  12. netbeans php 安装教程,Netbeans下载安装教程教程
  13. Source Insight 使用
  14. mysql数据库的连接--买家类目(上)
  15. JVM学习之---了解JIT
  16. 日志组的状态:CURRENT、ACTIVE、INACTIVE
  17. 手机sd卡恢复工具android版,SD卡数据恢复软件
  18. 不重视技术,何谈掌握核心技术?
  19. 基于titanic数据集介绍数据分析处理流程
  20. 基于深度学习的高精地图的自动生成与标注

热门文章

  1. 机器学习——基本认识
  2. musl pwn 入门 (1)
  3. 【负荷预测】长短期负荷预测(Matlab代码实现)
  4. 负荷预测|一种改进支持向量机的电力负荷预测方法研究(Matlab代码实现)
  5. CG动画制作——实训项目中期工作(一)
  6. 智能车辆管理系统一站式开发
  7. 文件操作---基于python
  8. signature=44e9487b7bdb8ebb24ae302ef5c109a1,LBE_Security_Rel_5.4.8358_A1.apk
  9. [技术发展-14]:高级研修班-智能制造-智能制造技术体系与发展状况
  10. 文件被病毒感染了,全部变成隐藏文件恢复过程