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

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.lryc.cn/news/524925.html

相关文章:

  • 《探秘鸿蒙Next:人工智能助力元宇宙高效渲染新征程》
  • 微前端qiankun的部署
  • HTML表格-掌握表格标签与属性
  • PID控制的优势与LabVIEW应用
  • 全球化趋势与中资企业出海背景
  • Oracle之RMAN备份异机恢复(单机到单机)
  • Servlet快速入门
  • 深入解析 Linux 内核中的 InfiniBand 驱动接口:ib_verbs.h
  • vulnhub靶场【kioptrix-1靶机】
  • Linux 6.14 内核的主要特性
  • 【Linux】深刻理解动静态库
  • 亚博microros小车-原生ubuntu支持系列:8-脸部检测与人脸特效
  • 代码随想录算法训练营day32
  • 缓存之美:万文详解 Caffeine 实现原理(下)
  • 中企出海:从国际投资建厂:投前投中投后重点事项
  • github登录用的TOTP和恢复码都丢失了怎么办
  • 最长递增子序列问题(Longest Increasing Subsequence),动态规划法解决,贪心算法 + 二分查找优化
  • Python中采用.add_subplot绘制子图的方法简要举例介绍
  • 纯 Python、Django、FastAPI、Flask、Pyramid、Jupyter、dbt 解析和差异分析
  • C++实现有限元二维杆单元计算 Bar2D2Node类(纯自研 非套壳)
  • wx036基于springboot+vue+uniapp的校园快递平台小程序
  • Unity中两个UGUI物体的锚点和中心点设置成不一样的,然后怎么使两个物体的位置一样?
  • 兼职全职招聘系统架构与功能分析
  • HTML5 History API
  • 2025_1_22打卡
  • Formality:不可读(unread)的概念
  • stm32f103C8T6和AT24C256链接
  • 5.SQLAlchemy对两张有关联关系表查询
  • 2.2.1 语句结构
  • 安当二代TDE透明加密技术与SMS凭据管理系统相结合的数据库安全解决方案