对输入的- -串信息(可包含空格)进行加密处理。加密规则如下:将字母表看成首尾衔接的闭合环,对信息中的字母,用该字母前的第5个字母进行替换;对信息中的非字母,不做处理,原样输出。要求:使用string变量存放字符串
时间: 2023-12-03 17:42:05 浏览: 113
密码加密解密
下面是一个 C++ 的实现示例:
```cpp
#include <iostream>
#include <string>
using namespace std;
string encrypt(string message) {
string alphabet = "abcdefghijklmnopqrstuvwxyz";
string result = "";
for (int i = 0; i < message.length(); i++) {
char c = message[i];
if (isalpha(c)) {
// 将字母转换为小写
c = tolower(c);
// 找到字母在字母表中的位置
int pos = alphabet.find(c);
// 将字母替换为前面第5个字母
char new_c = alphabet[(pos + 21) % 26];
// 如果原字母为大写,则将替换后的字母转换为大写
if (isupper(message[i])) {
new_c = toupper(new_c);
}
result += new_c;
} else {
result += c;
}
}
return result;
}
int main() {
string message;
cout << "请输入要加密的信息:";
getline(cin, message);
string encrypted = encrypt(message);
cout << "加密后的信息为:" << encrypted << endl;
return 0;
}
```
示例输入:
```
请输入要加密的信息:Hello, World!
```
示例输出:
```
加密后的信息为:czoof, thlma!
```
阅读全文