C语言实现凯撒加密算法
时间: 2023-12-15 17:30:33 浏览: 134
以下是C语言实现凯撒加密算法的代码示例:
```c
#include <stdio.h>
#include <string.h>
void encrypt(char *str, int shift) {
int len = strlen(str);
for (int i = 0; i < len; i++) {
if (str[i] >= 'a' && str[i] <= 'z') {
str[i] = (str[i] - 'a' + shift) % 26 + 'a';
} else if (str[i] >= 'A' && str[i] <= 'Z') {
str[i] = (str[i] - 'A' + shift) % 26 + 'A';
}
}
}
void decrypt(char *str, int shift) {
int len = strlen(str);
for (int i = 0; i < len; i++) {
if (str[i] >= 'a' && str[i] <= 'z') {
str[i] = (str[i] - 'a' - shift + 26) % 26 + 'a';
} else if (str[i] >= 'A' && str[i] <= 'Z') {
str[i] = (str[i] - 'A' - shift + 26) % 26 + 'A';
}
}
}
int main() {
char str[100];
int shift;
printf("Please enter a string to encrypt: ");
scanf("%s", str);
printf("Please enter the shift number: ");
scanf("%d", &shift);
// 加密
encrypt(str, shift);
printf("Encrypted string: %s\n", str);
// 解密
decrypt(str, shift);
printf("Decrypted string: %s\n", str);
return 0;
}
```
该程序首先定义了两个函数`encrypt`和`decrypt`,分别用于加密和解密字符串。然后在`main`函数中,通过`scanf`函数获取用户输入的字符串和移位数,调用`encrypt`函数进行加密,再调用`decrypt`函数进行解密,最后输出加密和解密后的字符串。
阅读全文