用户输入一行明文(字符串),针对字母进行加密(偏移量设置为 3),非字母部分保留原型。

2023-11-02

要求:用户输入一行明文(字符串),针对字母进行加密(偏移量设置为 3),非字母部分保留原型。

#include <stdio.h>

int main()
{
        int ch;

        printf("请输入明文:");

        while ((ch = getchar()) != '\n')
        {
                if (ch >= 'a' && ch <= 'z')
                {
                        putchar('a' + (ch - 'a' + 3) % 26);
                        continue;
                }

                if (ch >= 'A' && ch <= 'Z')
                {
                        putchar('A' + (ch - 'A' + 3) % 26);
                        continue;
                }

                putchar(ch);
        }

        putchar('\n');

        return 0;
}

注:‘a’ + (ch - ‘a’ + 3) % 26中先通过(ch-‘a’+3)%26得出ch在26个字母表中偏移3后的相对位置,即a为3,以此类推。再加上没有偏移时的首字母’a’便能得到如今偏移后的字母。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用户输入一行明文(字符串),针对字母进行加密(偏移量设置为 3),非字母部分保留原型。 的相关文章

随机推荐

  • watermark前端js盲水印添加方法

    1 引入js 2 实例化对象
  • java获取一个文件的md5码

    什么是文件的MD5码 MD5信息摘要算法 英语 MD5 Message Digest Algorithm 一种被广泛使用的密码散列函数 可以产生出一个128位 16字节 的散列值 hash value 用于确保信息传输完整一致 每个文件对应
  • [知识蒸馏]

    知识蒸馏目的 需要关注的是上图的 attention transfer channel wise knowledge distillation for dense prediction ppt来源于 精读AI论文 知识蒸馏 哔哩哔哩 bil
  • 在计算机中安装Arch Linux

    Arch Linux是一个优秀的linux操作系统 其优点是滚动发行 软件包比较新 并且可以深度可定制 缺点是由于深度可定制 所以开始安装的时候只有命令行可用 对于linux新手来说会有一些难度 我也是练习安装了好多次 才逐渐从安装过程中学
  • Java比较器(Comparator接口)

    Comparator接口的使用 定制排序 1 当元素的类型没有实现java lang Comparable接口而又不方便修改代码 或者实现了java lang Comparable接口的排序规则不适合当前的操作 那么可以考虑使用 Compa
  • go语言中的读写锁以及协程通信

    0 需求分析 在一个读操作远大于写操作的时候 用读写锁 读写锁与互斥锁的运行时长相比 两个goroutine间的通信 写goroutine写完以后通过channel发一个消息给读goroutine 读goroutine收到以后开启200个并
  • Anaconda常用操作(亲测有效果)

    文章目录 Anaconda简绍 一 Anaconda下载安装 二 常用命令 1 创建自己的虚拟环境 2 查看所有的环境 3 切换环境 4 退出环境 5 卸载环境 总结 Anaconda简绍 Conda是一个开源的包 环境管理器 可以用于在同
  • CentOS下安装AMP

    1 安装mysql shell gt groupadd mysql shell gt useradd g mysql mysql shell gt tar zxvf mysql tar gz shell gt cd mysql VERSIO
  • GD32F4xx适配OpenHarmony问题踩坑记录

    1 时钟配置导致的串口乱码 现象描述 最新在适配GD32产品时 发现使用外部晶振时调试串口输出内容会出现乱码 使用内部晶振则不会出现这个问题 配置如下所示 后来研究了半天 发现GD32除了配置system gd32f4xx h中的时钟倍频宏
  • (已实测解决)Intel Optane(tm) Memory Pinning 无法加载DLLiaStorAfsServiceApi.dll:找不到指定模块。是怎么回事如何解决

    Intel Optane Memory Pinning 无法加载DLL iaStorAfsServiceApi dll 找不到指定模块 异常来自HRESULT 0x8007007E 更新windows10后 发现打开文件夹时总是弹出一个窗口
  • explicit和QObject的禁止拷贝

    常用的mainwindow h中对构造函数是这样声明的 explicit MainWindow QWidget parent 0 为什么有个explicit 其实是为了禁止构造函数的隐式转换 构造函数如果只有一个参数 那么存在一个隐式转换
  • 深度解析“区块链+物联网”与新基建

    根据国家发改委对 新基建 的界定 区块链属于新技术基础设施 物联网属于通信网络基础设施 同属于 新基建 的代表 区块链与物联网之间可能擦出什么样的火花 需要哪些软硬件支持 这是本文要讨论的问题 区块链 物联网 的核心问题 区块链兼有信息互联
  • 165. 比较版本号

    165 比较版本号 题目描述 给你两个版本号 version1 和 version2 请你比较它们 版本号由一个或多个修订号组成 各修订号由一个 连接 每个修订号由 多位数字 组成 可能包含 前导零 每个版本号至少包含一个字符 修订号从左到
  • 最挑战程序员的9大任务,你都干过吗?

    那些非程序员认为软件开发是非常困难的 确实如此 但这种困难不像那些外行人理解的那样 最近在 Quora 上的一次讨论 程序员分享了他们认为工作中的最大困难 在这里为大家精选出其中的 9 个 1 怎样才是最佳解决方案 任务描述 给你一系列的需
  • 容器化部署的微服务 远程调试(debug)

    一 项目微服务的部署采用如下方式 1 微服务的jar包 使用dockeFile文件 创建为镜像image 2 利用该镜像创建一个容器 3 启动容器 微服务即启动 二 远程调试 debug 设置 1 idea 本地设置 2 编辑 创建镜像的d
  • 2018-互联网优质资源汇总

    Jamin s Blog 个人网站 虽然时间比较早 但对很对ios的主题进行深入的讲解 HTTPS HTTPS进阶 APP启动 并发编程RunLoop 等 Spring Boot 汇总 微笑很纯洁 CSDN博主 Spring Boot资源的
  • 【C++】面向对象之多态

    文章内的所有调试都是在vs2022下进行的 部分小细节可能因编译器不同存在差异 文章目录 多态的定义和实现 概念引入 多态的构成条件 虚函数重写 通过基类的指针或者引用调用虚函数 override和final 抽象类 概念 实现继承和接口继
  • 部分优秀博客主链接汇总(linux c/c++ java go php android ios 前端 j2ee windows linux 算法 ACM AI 深度/机器学习 opencv nlp)

    给大家推荐一个学习人工智能的网站 人工智能社区 https chenyu blog csdn net article details 79449026 a href http www pudn com pudn a a href https
  • 【狂神说】Mybatis学习笔记(全)

    狂神说 Mybatis最新完整教程IDEA版参考链接 https www bilibili com video BV1NE411Q7Nx 狂神说 Java学习完整路线https www bilibili com read cv5702420
  • 用户输入一行明文(字符串),针对字母进行加密(偏移量设置为 3),非字母部分保留原型。

    要求 用户输入一行明文 字符串 针对字母进行加密 偏移量设置为 3 非字母部分保留原型 include