加密的病历单-题解

描述

小英是药学专业大三的学生,暑假期间获得了去医院药房实习的机会。

在药房实习期间,小英扎实的专业基础获得了医生的一致好评,得知小英在计算概论中取得过好成绩后,主任又额外交给她一项任务,解密抗战时期被加密过的一些伤员的名单。

经过研究,小英发现了如下加密规律(括号中是一个“原文 -> 密文”的例子)

  1. 原文中所有的字符都在字母表中被循环左移了三个位置(dec -> abz)

  2. 逆序存储(abcd -> dcba )

  3. 大小写反转(abXY -> ABxy)

输入描述

一个加密的字符串。(长度小于50且只包含大小写字母)

输出描述

输出解密后的字符串。

代码

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

int main() {
string s, x;
getline(cin, s);
int i;
for (i = 0; i < s.size(); i++) {
if (s[i] >= 'a' && s[i] <= 'z')
x += s[i] - 32;
else
x += s[i] + 32;
}
s = "";
for (i = x.size() - 1; i >= 0; i--)
s += x[i];
x = "";
for (i = 0; i < s.size(); i++) {
s[i] += 3;
if (s[i] > 'z' || (s[i] < 'a' && s[i] > 'Z'))
s[i] -= 26;
x += s[i];
}
cout << x;
return 0;
}

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