用c语言加密电码,输入一串字符,将字母变成其后的第4个字母,其他字符不变。
时间: 2024-10-18 21:15:02 浏览: 48
在C语言中,你可以通过遍历输入字符串并对每个字符进行特定操作来实现简单的Caesar密码加密,也称为替换加密。Caesar密码是一种古老的加密技术,它将每个字母替换为其字母表中的固定位移。在这个例子中,我们将位移设置为4。下面是实现这个功能的一个简单示例:
```c
#include <stdio.h>
#include <string.h>
char shift(char c) {
if (c >= 'a' && c <= 'z') { // 对小写字母处理
return ((c - 'a' + 4) % 26) + 'a';
} else if (c >= 'A' && c <= 'Z') { // 对大写字母处理
return ((c - 'A' + 4) % 26) + 'A';
}
// 其他字符保持原样
return c;
}
void caesar_cipher(const char *input, char *output) {
int len = strlen(input);
for (int i = 0; i < len; ++i) {
output[i] = shift(input[i]);
}
output[len] = '\0'; // 结束字符串
}
int main() {
char input[100];
printf("请输入要加密的字符串: ");
fgets(input, sizeof(input), stdin); // 读取用户输入,包括换行符
input[strcspn(input, "\n")] = '\0'; // 去除换行符
char encrypted[100];
caesar_cipher(input, encrypted);
printf("加密后的字符串: %s\n", encrypted);
return 0;
}
```
当你运行这个程序并输入一个字符串时,它会按照规则将其加密,并输出加密后的结果。
阅读全文