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

embedded/2025/1/23 9:46:42/

代码如下:

#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.ppmy.cn/embedded/156272.html

相关文章

ASP.NET Blazor部署方式有哪些?

今天我们来说说Blazor的三种部署方式&#xff0c;如果大家还不了解Blazor&#xff0c;那么我先简单介绍下Blazor Blazor 是一种 .NET 前端 Web 框架&#xff0c;在单个编程模型中同时支持服务器端呈现和客户端交互性&#xff1a; ● 使用 C# 创建丰富的交互式 UI。 ● 共享使用…

机器学习(5):支持向量机

1 介绍 支持向量机&#xff08;Support Vector Machine&#xff0c;简称 SVM&#xff09;是一种监督学习算法&#xff0c;主要用于分类和回归问题。SVM 的核心思想是找到一个最优的超平面&#xff0c;将不同类别的数据分开。这个超平面不仅要能够正确分类数据&#xff0c;还要使…

解决Oracle SQL语句性能问题(10.5)——常用Hint及语法(6)(并行相关Hint)

10.5.3. 常用hint 10.5.3.6. 并行相关Hint 1)parallel:显式的指示优化器为SQL语句或SQL语句中的特定表指定或计算并行度。该Hint具体语法如下所示。 SQL> select|insert|update|delete /*+ parallel[(integer|default|auto|manual)] */ ...; --注: 1)这里,parallel…

图论 八字码

我们可能惊异于某些技巧。我们认为这个技巧真是巧妙啊。或者有人认为我依靠自己的直觉想出了这个表示方法。非常自豪。我认为假设是很小的时候&#xff0c;比如说小学初中&#xff0c;还是不错的。到高中大学&#xff0c;就有一些不成熟了。因为这实际上是一个竞技。很多东西前…

【Elasticsearch】RestClient操作文档

RestClient操作文档 新增文档实体类API语法 查询文档删除文档修改文档批量导入文档小结 新增文档 将数据库中的信息导入elasticsearch中 以商品数据为例 实体类 定义一个索引库结构对应的实体。 Data ApiModel(description "索引库实体") public class ItemDoc{…

django使用踩坑经历

DRF 使用drf获取序列化后的id visitor_serializer VisitorSaveSerializer(data{…}) if visitor_serializer.is_valid():visitor visitor_serializer.save() visitor_id visitor.pkpostgrepsql踩坑 django使用postgrepsql&#xff0c;使用聚合函数如:sum 等&#xff0c;被…

ios文件管理,沙盒机制以及如何操作“文件”APP,把文件共享到文件app

首先&#xff0c;系统是一个整体&#xff0c;那每个app是相互独立的&#xff0c;系统为每个app分配了一定的存储空间&#xff0c;也就是我们说的沙盒&#xff0c;每个app有自己独立的沙盒&#xff0c;文件存储在沙盒中&#xff0c;正常情况下app相互之间数据是不可以共享以及访…

leetcode169.多数元素

给定一个大小为 n 的数组 nums &#xff0c;返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的&#xff0c;并且给定的数组总是存在多数元素。 示例 1&#xff1a; 输入&#xff1a;nums [3,2,3] 输出&#xff1a;3 示例 2…