用C语言实现:现有一种加密方法,其规律是:将字母A变成字母D,a变成d,即变成其后的第三个字母,X变成A,Y变成B,Z变成C。字母按上述规律转换,非字母变为空格输出,请从键盘输入一行字符,输出相应密码。以回车作为结束条件。
时间: 2024-10-24 17:16:20 浏览: 59
在C语言中实现这个加密方法,你可以创建一个函数,遍历输入的每一个字符,检查它是否是字母,然后按照指定规则进行转换。非字母直接保持不变。下面是一个简单的示例代码:
```c
#include <stdio.h>
#include <ctype.h>
char encrypt(char ch) {
if (isalpha(ch)) { // 检查是否是字母
if (ch >= 'A' && ch <= 'Z') { // 大写字母
return ((ch - 'A' + 3) % 26) + 'A';
} else if (ch >= 'a' && ch <= 'z') { // 小写字母
return ((ch - 'a' + 3) % 26) + 'a';
}
}
return ' '; // 非字母直接返回空格
}
int main() {
char input[100];
fgets(input, sizeof(input), stdin); // 从键盘读取一行字符
for (size_t i = 0; input[i] != '\n'; i++) {
input[i] = encrypt(input[i]);
}
printf("%s", input); // 输出加密后的字符串
return 0;
}
```
在这个程序中,`encrypt()` 函数负责处理加密逻辑,而 `main()` 负责获取用户输入并打印结果。当用户按下回车键后,输入停止,程序会输出加密后的字符。
阅读全文