序实现如下功能:输入一行字母,将字母加密输出(如a变成c)C语言
时间: 2024-10-17 12:10:39 浏览: 30
在C语言中,实现简单的字母加密(比如Caesar Cipher,凯撒密码)可以通过位移字符的ASCII码来完成。下面是一个基础的例子,它将每个小写字母向前移动三个位置:
```c
#include <stdio.h>
#include <ctype.h>
char encrypt(char ch) {
if (islower(ch)) { // 如果是小写字母
ch = ((ch - 'a' + 3) % 26) + 'a'; // 向前移动三位
} else if (isupper(ch)) { // 如果是大写字母
ch = ((ch - 'A' + 3) % 26) + 'A'; // 同样处理大写
}
return ch;
}
int main() {
char input[50];
printf("请输入一行字母:");
fgets(input, sizeof(input), stdin); // 读取用户输入
for (int i = 0; input[i] != '\n'; i++) {
input[i] = encrypt(input[i]); // 加密每个字符
}
input[strlen(input) - 1] = '\0'; // 去掉换行符
printf("加密后的字符串:%s\n", input);
return 0;
}
```
在这个程序中,`encrypt`函数接受一个字符并根据其是否为字母进行相应的位移操作。然后在主函数里,遍历输入的字符串并对每个字符进行加密。
阅读全文