在情报传递过程中,为了防止情报被截获,往往需要对情报用一定的方式加密,简单的加密算法虽然不足以完全避免情报被破译,但仍然能防止情报被轻易的识别。我们给出一种最简的的加密方法,对给定的一个字符串,把其中从 a - w , A - W 的字母用其后第3个字母替代,如, a 用 d 表示。把 x - z 和 X - Z 用 a - c 和 A - C 替代,则可得到一个简单的加密字符串。 输入描述: 读取这一行字符串,每个字符串长度小于80个字符输出描述: 对于每组数据,输出每行字符串的加密字符串。,c语言实现
时间: 2024-02-03 14:11:24 浏览: 140
C++信息学奥赛一本通 密码翻译
以下是使用 C 语言实现的代码:
```c
#include <stdio.h>
#include <string.h>
void encrypt(char *str) {
int len = strlen(str);
for (int i = 0; i < len; i++) {
if (str[i] >= 'a' && str[i] <= 'w') {
str[i] = str[i] + 3;
} else if (str[i] >= 'A' && str[i] <= 'W') {
str[i] = str[i] + 3;
} else if (str[i] >= 'x' && str[i] <= 'z') {
str[i] = str[i] - 23;
} else if (str[i] >= 'X' && str[i] <= 'Z') {
str[i] = str[i] - 23;
}
}
}
int main() {
char str[81];
fgets(str, 81, stdin);
encrypt(str);
printf("%s", str);
return 0;
}
```
首先定义了一个 `encrypt` 函数,用于对字符串进行加密。在函数中,我们遍历字符串中的每个字符,如果字符是 a - w 或 A - W 中的一个,就将其替换为其后第 3 个字符;如果字符是 x - z 或 X - Z 中的一个,就将其替换为 a - c 或 A - C 中的一个。最后在 `main` 函数中读入输入的字符串,并调用 `encrypt` 函数对其进行加密,然后输出加密后的字符串。
阅读全文