酷代码 AI
菜单
服务商
DeepSeek字节豆包
更多选项

字符串偏移加密C++实现及ASCII取模技巧

## 🔐 字符串偏移加密题解 ### 💡 解题思路 字符串中的每个小写字母向后偏移4位,即 `a→e`, `b→f`, ..., `v→z`, `w→a`, `x→b`, `y→c`, `z→d`。 可通过ASCII码计算:`(s[i] - 'a' + 4) % 26 + 'a'`,实现循环偏移。 ### 🧩 完整代码 ```cpp #include <iostream> using namespace std; int main() { string s; cin >> s; int n = s.length(); for (int i = 0; i < n; i++) { // 核心偏移逻辑:将当前字符转为0-25的偏移量,加4后取模26,再转回字符 s[i] = (s[i] - 'a' + 4) % 26 + 'a'; } cout << s << endl; return 0; } ``` ### 🔍 代码说明 - `s[i] - 'a'`:将字符转为0-25的数值(`a`为0,`z`为25) - `+4`:向后偏移4位 - `% 26`:处理偏移后超过25的情况(如`z`+4=29,取模后为3,对应`d`) - `+ 'a'`:将数值转回字符 ### 📊 示例验证 输入:`hello` 输出:`lipps`(每个字符向后偏移4位:h→l, e→i, l→p, l→p, o→s) 输入:`xyz` 输出:`bcd`(x→b, y→c, z→d,循环偏移) ######[AI问答 | 417点数解答 | 2026-08-29 20:01:01]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]