- 加密的病历单
我的假牙!!!
- @ 2025-12-6 11:28:31
#include
#include
#include // 用于reverse函数
using namespace std;
int main() {
string encrypted;
cin >> encrypted; // 输入加密字符串
// 解密步骤(反向操作加密步骤)
// 步骤1:大小写反转(加密的第三步,解密的第二步)
for (char &ch : encrypted) {
if (ch >= 'A' && ch <= 'Z') {
ch = ch + 32; // 大写转小写
}
else if (ch >= 'a' && ch <= 'z') {
ch = ch - 32; // 小写转大写
}
}
// 步骤2:逆序存储(加密的第二步,解密的第二步)
reverse(encrypted.begin(), encrypted.end());
// 步骤3:循环右移三个位置(加密的第一步是循环左
移,解密就是循环右移)
for (char &ch : encrypted) {
if (ch >= 'A' && ch <= 'Z') {
// 处理大写字母
ch = ch + 3;
if (ch > 'Z') {
ch = ch - 26; // 超过Z就回到A
}
}
else if (ch >= 'a' && ch <= 'z') {
// 处理小写字母
ch = ch + 3;
if (ch > 'z') {
ch = ch - 26; // 超过z就回到a
}
}
}
cout << encrypted << endl;
return 0;
}
0 条评论
目前还没有评论...
信息
- ID
- 139
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 5
- 标签
- (无)
- 递交数
- 205
- 已通过
- 73
- 上传者