用简单的c语言编写上面的程序
时间: 2024-10-24 08:18:53 浏览: 8
用C语言编写通讯录.pdf
5星 · 资源好评率100%
在C语言中,我们可以使用`ctype.h`库处理字符,下面是用C语言实现上述凯撒密码解密的简单示例:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
// 函数来解密凯撒密码
char decrypt_caesar(char c, int shift) {
if (isupper(c)) {
return ((c - 'A' - shift + 26) % 26) + 'A';
} else if (islower(c)) {
return ((c - 'a' - shift + 26) % 26) + 'a';
}
// 非字母字符不做改变
return c;
}
void decode_message(char *encoded_message, int shift) {
int len = strlen(encoded_message);
for (int i = 0; i < len; i++) {
encoded_message[i] = decrypt_caesar(encoded_message[i], shift);
}
}
int main() {
char encrypted_message[] = "Lwppzx ryhu zuxmlyk.";
int shift = 25; // 假设原始凯撒密码的偏移值
decode_message(encrypted_message, shift);
printf("Encrypted Message: %s\n", encrypted_message);
printf("Decoded Message: %s\n", encrypted_message);
return 0;
}
```
在这个程序中,我们首先定义了一个`decrypt_caesar`函数,用于处理单个字符的解密,然后在`decode_message`函数中遍历整个字符串,逐个字符解密。在`main`函数中,我们定义了加密后的消息和偏移值,然后调用解密函数并打印出解密后的结果。
阅读全文