c语言求凯撒密码
时间: 2023-08-03 17:08:43 浏览: 114
下面是一个简单的 C 语言实现凯撒密码的代码示例:
```c
#include <stdio.h>
int main() {
int key;
char message[100], ch;
printf("Enter a message to encrypt: ");
gets(message);
printf("Enter key: ");
scanf("%d", &key);
for(int i = 0; message[i] != '\0'; ++i) {
ch = message[i];
if(ch >= 'a' && ch <= 'z') {
ch = ch + key;
if(ch > 'z') {
ch = ch - 'z' + 'a' - 1;
}
message[i] = ch;
}
else if(ch >= 'A' && ch <= 'Z') {
ch = ch + key;
if(ch > 'Z') {
ch = ch - 'Z' + 'A' - 1;
}
message[i] = ch;
}
}
printf("Encrypted message: %s", message);
return 0;
}
```
该程序要求用户输入一个消息和一个密钥。它使用密钥来加密消息并显示加密后的结果。该程序使用了凯撒密码的基本思想:将每个字母替换为另一个字母,该字母在字母表中向右移动固定数量的位置。在这个程序中,我们将每个字母向右移动密钥个位置。如果移动超过了字母表的末尾,则从字母表的开头重新开始。
阅读全文