7-137 凯撒密码

简介: 7-137 凯撒密码

7-137 凯撒密码 (20 分)


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


输入格式:


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


输出格式:


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


输入样例1:


Hello Hangzhou
2


结尾无空行


输出样例1:


Jgnnq Jcpibjqw


结尾无空行


输入样例2:


 a=x+y
 -1


结尾无空行


输出样例2:


z=w+x


结尾无空行


#include<iostream>
using namespace std;
int main(){
    string s;
    int n,t;
    getline(cin,s);
    cin>>n;
    while(n<0)n+=26;
    for(int i=0;i<s.size();i++){
        if(isalpha(s[i])){
            if(isupper(s[i])){
                t=(s[i]-'A'+n)%26;
                s[i]='A'+t;
            }
            else if(islower(s[i])){
                t=(s[i]-'a'+n)%26;
                s[i]='a'+t;
            }
            cout<<s[i];
        }
        else cout<<s[i];
    }
    cout<<endl;
    return 0;
}
目录
相关文章
|
存储 虚拟化 Docker
Windows11 Docker镜像存储路径更改(非C盘路径)
本文是博主学习Docker的记录,对于C盘空间有限的同学,希望对大家有所帮助。
3140 0
Windows11 Docker镜像存储路径更改(非C盘路径)
|
机器学习/深度学习 数据可视化 算法
|
6月前
|
机器学习/深度学习 算法 数据安全/隐私保护
BOC调制信号matlab性能仿真分析,对比功率谱,自相关性以及抗干扰性
本内容介绍了一种基于BOC(Binary Offset Carrier)调制的算法,使用Matlab2022a实现。完整程序运行效果无水印,核心代码配有详细中文注释及操作步骤视频。理论部分阐述了BOC调制在卫星导航中的应用优势:相比BPSK调制,BOC信号功率谱主瓣更窄、自相关函数主峰更尖锐,可优化旁瓣特性以减少干扰,提高频谱利用率和同步精度,适合复杂信道环境下的信号接收与处理。
|
XML Java 数据库连接
SpringBoot(九)之整合mybatis
mybatis-spring-boot-starter 可以简化在 Spring Boot 项目中集成 MyBatis 的过程,并且事务管理也会自动配置。在 Spring Boot 2.x 及以上版本中,只需添加相应的依赖和配置,即可启用事务管理。
292 0
|
Windows
Windows——如何在文件资源管理器地址栏快速打开Vscode
Windows——如何在文件资源管理器地址栏快速打开Vscode
273 4
|
存储 人工智能 算法
C语言实现矩阵转置
C语言实现矩阵转置
1054 0
|
JSON 算法 安全
SpringBoot从入门到精通(三十四)如何集成JWT实现Token验证
近年来,随着前后端分离、微服务等架构的兴起,传统的cookie+session身份验证模式已经逐渐被基于Token的身份验证模式取代。接下来介绍如何在Spring Boot项目中集成JWT实现Token验证。
SpringBoot从入门到精通(三十四)如何集成JWT实现Token验证
习题6-3 使用函数输出指定范围内的完数 (20分)
习题6-3 使用函数输出指定范围内的完数 (20分)
|
机器学习/深度学习 C语言
【C/PTA】循环结构专项练习(选择+填空)
【C/PTA】循环结构专项练习(选择+填空)
300 0
|
存储 监控 安全
自动化测试适用场景
自动化测试适用场景
247 0