题目描述 在情报传递过程中,为了防止情报被截获,往往需要对情报用一定的方式加密,简单的加密算法虽然不足以完全避免情报被破译,但仍然能防止情报被轻易的识别。 我们给出一种最简的的加密方法,对给定的一个字符串,把其中从 a-y,A-Y 的字母用其后继字母替代,把 z 和 Z 用 a 和 A 替代,其他非字母字符不变,则可得到一个简单的加密字符串。 输入 输入一行,包含一个字符串,长度小于80个字符。 输出 输出每行字符串的加密字符串。 C++
时间: 2024-03-24 13:36:00 浏览: 153
以下是C++实现代码:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string s;
getline(cin, s);
for (int i = 0; i < s.size(); i++) {
if (s[i] >= 'a' && s[i] <= 'y') {
s[i] = s[i] + 1;
} else if (s[i] == 'z') {
s[i] = 'a';
} else if (s[i] >= 'A' && s[i] <= 'Y') {
s[i] = s[i] + 1;
} else if (s[i] == 'Z') {
s[i] = 'A';
}
}
cout << s << endl;
return 0;
}
```
首先使用`getline()`函数读入一行字符串,然后遍历字符串中的每个字符。如果字符是小写字母且不是`z`,则将其替换为其后继字母;如果字符是小写字母且是`z`,则将其替换为`a`;如果字符是大写字母且不是`Z`,则将其替换为其后继字母;如果字符是大写字母且是`Z`,则将其替换为`A`。最后输出加密后的字符串即可。
相关问题
在情报传递过程中,为了防止情报被截获,往往需要对情报用一定的方式加密,简单的加密算法虽然不足以完全避免情报被破译,但仍然能防止情报被轻易的识别。我们给出一种最简的的加密方法,对给定的一个字符串,把其中
的每个字符都向后移动三个位置,即把a变成d,b变成e,c变成f,……,最后把所有变换后的字符连成一个字符串输出。
例如,输入字符串"hello",加密后得到字符串"khoor"。
这种加密方法虽然简单,但对于一些简单的情报传递还是有一定的保密作用。当然,在现代的情报传递中,需要使用更加复杂的加密算法来保护情报的安全。
c++题目描述 在情报传递过程中,为了防止情报被截获,往往需要对情报用一定的方式加密,简单的加密算法虽然不足以完全避免情报被破译,但仍然能防止情报被轻易的识别。我们给出一种最简的的加密方法,对给定的一个字符串,把其中从 a-y,A-Y 的字母用其后继字母替代,把 z 和 Z 用 a 和 A 替代,其他非字母字符不变,则可得到一个简单的加密字符串。 输入格式 输入一行,包含一个字符串,长度小于 100 个字符。 输出格式 输出每行字符串的加密字符串。
以下是一个可能的C++代码实现:
```cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s;
getline(cin, s); // 输入一行字符串,包括空格
string t;
for (char c : s)
{
if ('a' <= c && c <= 'y')
t += c + 1;
else if (c == 'z')
t += 'a';
else if ('A' <= c && c <= 'Y')
t += c + 1;
else if (c == 'Z')
t += 'A';
else
t += c;
}
cout << t << endl;
return 0;
}
```
输入一行字符串,包括空格,使用 `getline(cin, s)` 实现。然后遍历字符串中的每个字符,根据题目描述进行加密处理,最后输出加密后的字符串。
阅读全文