凯撒密码c语言仅小写
时间: 2023-08-24 08:12:33 浏览: 66
以下是一个使用凯撒密码加密和解密小写字母的 C 语言代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 加密函数
void encrypt(char *message, int key) {
int i;
char ch;
for(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;
}
}
}
// 解密函数
void decrypt(char *message, int key) {
int i;
char ch;
for(i = 0; message[i] != '\0'; ++i) {
ch = message[i];
if(ch >= 'a' && ch <= 'z') {
ch = ch - key;
if(ch < 'a') {
ch = ch + 'z' - 'a' + 1;
}
message[i] = ch;
}
}
}
int main() {
char message[100];
int key;
printf("请输入要加密的消息:");
fgets(message, sizeof(message), stdin);
printf("请输入密钥:");
scanf("%d", &key);
encrypt(message, key);
printf("加密后的消息:%s\n", message);
decrypt(message, key);
printf("解密后的消息:%s\n", message);
return 0;
}
```
注意,这个代码示例只支持小写字母的加密和解密。如果需要支持大写字母和其他字符,你需要进行相应的修改。