加密算法-题解

描述

小明设计了一个加密程序,对于任意输入的一个字符串,运行程序后会输出相应的密文。其中,字符串加密算法如下:

(1)只针对英文字符和数字进行加密,其余字符保持不变;

(2)将原文中的小写字母转换成大写字母;

(3)根据第2步所得结果,若是英文字符,则逐个后移4位(例如“A”–>”E”,”Z”–>”D”);若是数字,则逐个前移2位(例如:3:–>“1,“1”–>“9”)。

要实现上述要求的某程序如下,请完善以下代码。

输入描述

一行字符串。(总长度小于1000)

输出描述

一行加密后的字符串。

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <bits/stdc++.h>
using namespace std;

int main() {
string s;
getline(cin, s);
for (int i = 0; i < s.length(); i++) {
if (s[i] >= 'a' && s[i] <= 'z') {
s[i] = s[i] - 'a' + 'A';
}
if (s[i] >= 'A' && s[i] <= 'Z') {
s[i] = 'A' + (s[i] - 'A' + 4) % 26;
}
else if (s[i] >= '0' && s[i] <= '9') {
s[i] = '0' + (s[i] - '0' - 2 + 10) % 10;
}
}
cout << s;
return 0;
}

加密算法-题解
https://chenxi-tijie.pages.dev/2025/07/加密算法-题解/
作者
chenxi
发布于
2025年7月4日
许可协议