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

C++:将字符数组rkpryyrag,每个字母转换为其前面第13个字母后输出,如果超过a则从z再继续接着数。例如:b前面第1个字母是a。a前面第3个字母是x。

代码如下:

#include <iostream>
#include <string>
using namespace std;

int main(){
    string str = "rkpryyrag";
    for (int i = 0; i < str.length(); i++)
    {
        if (str[i] >= 'a' && str[i] <= 'z')
        {
            if (str[i] - 'a' < 13)
            {
                cout << char(str[i] + 13);
            }
            else {
                cout << char(str[i] - 13);
            }
        }
        else {
            cout << str[i];
        }
    }
    return 0;
}

 解释如下:

  • string str = "rkpryyrag";:定义了一个 string 类型的变量 str,并将其初始化为 "rkpryyrag"
  • for (int i = 0; i < str.length(); i++):使用 for 循环遍历字符串 str 中的每一个字符。i 作为索引从 0 开始,循环条件是 i 小于字符串的长度,每次循环结束 i 加 1。
  • if (str[i] >= 'a' && str[i] <= 'z'):检查当前字符是否是小写字母,因为小写字母的 ASCII 值范围是 'a' 到 'z'
    • if (str[i] - 'a' < 13):对于小写字母,计算该字母与 'a' 的差值,如果差值小于 13,那么将该字符的 ASCII 值加上 13。
      • cout << char(str[i] + 13);:将加上 13 后的 ASCII 值转换为字符并输出。
    • else:如果小写字母与 'a' 的差值大于等于 13,将该字符的 ASCII 值减去 13。
      • cout << char(str[i] - 13);:将减去 13 后的 ASCII 值转换为字符并输出。
  • else:如果当前字符不是小写字母,直接输出该字符,这是为了处理可能出现在字符串中的非小写字母字符,如空格、数字、大写字母或特殊字符。

总的来说,这段代码的主要功能是对字符串中的小写字母进行一种加密操作。对于小写字母,将其 ASCII 值加上或减去 13,这类似于一种简单的凯撒密码加密。如果字符在 'a' 到 'm' 范围内,就加上 13,将其转换为 'n' 到 'z' 范围内的字母;如果字符在 'n' 到 'z' 范围内,就减去 13,将其转换为 'a' 到 'm' 范围内的字母。对于非小写字母的字符则保持原样输出。这种加密方式可以对字符串中的小写字母进行简单的混淆,而不改变其他字符。

觉得有帮助就给博主点个关注叭~~

有问题的可以私信或者在评论区一起交流

友友们一起加油叭QAQ


http://www.kler.cn/a/514730.html

相关文章:

  • 计算机网络——网络层
  • 澎峰科技计算软件栈与沐曦GPU完成适配和互认证
  • windows git bash 使用zsh 并集成 oh my zsh
  • 汽车钥匙发展史
  • T-SQL语言的数据库编程
  • 2025/1/21 学习Vue的第四天
  • 【华为路由的arp配置】
  • 利用 SoybeanAdmin 实现前后端分离的企业级管理系统
  • 隐私保护+性能优化,RyTuneX 让你的电脑更快更安全
  • 麒麟操作系统服务架构保姆级教程(十三)tomcat环境安装以及LNMT架构
  • 【Qt】窗口
  • windows下本地部署安装hadoop+scala+spark-【不需要虚拟机】
  • 中国认知作战研究中心:从认知战角度分析2007年iPhone发布
  • HTTPS的加密原理
  • 基于RK3576/RK3588+FPGA+AI深度学习的轨道异物检测技术研究
  • spring ApplicationContext的事件监听机制
  • 「全网最细 + 实战源码案例」设计模式——简单工厂模式
  • 循环队列(C语言版)
  • AGI发展的现实约束与定义困境
  • 学习记录-统计记录场景下的Redis写请求合并优化实践
  • [矩阵扩散]
  • VUE elTree 无子级 隐藏展开图标
  • Java高频面试之SE-16
  • C++----STL(vector)
  • curl简介与libcurl开源库的使用总结
  • 在电商行业中,3D模型的应用有哪些?