c语言设计凯撒密码程序,输入 第一行输入需要进行的解密/加密操作,0表示解密,1表示加密 第二行给出一个以回车结束的非空字符串(少于80个字符) (密文或明文) 第三行输入一个整数offset。 输出 输出加密/解密后的结果字符串。
时间: 2024-02-28 14:52:34 浏览: 161
凯撒密码用c语言来实现
以下是使用 C 语言实现凯撒密码加密和解密的程序示例:
```c
#include <stdio.h>
#include <string.h>
void caesarCipher(char* str, int offset, int isEncrypt) {
int len = strlen(str);
for (int i = 0; i < len; i++) {
if (isEncrypt) {
str[i] = (str[i] - 'a' + offset) % 26 + 'a'; // 加密,往后偏移 offset 个字母
} else {
str[i] = (str[i] - 'a' - offset + 26) % 26 + 'a'; // 解密,往前偏移 offset 个字母
}
}
}
int main() {
int isEncrypt;
char str[80];
int offset;
printf("请输入需要进行的解密/加密操作,0 表示解密,1 表示加密:");
scanf("%d", &isEncrypt);
printf("请输入一个以回车结束的非空字符串(少于80个字符):");
getchar(); // 读取上一个输入后的换行符
fgets(str, 80, stdin);
str[strlen(str) - 1] = '\0'; // 去掉换行符
printf("请输入一个整数 offset:");
scanf("%d", &offset);
caesarCipher(str, offset, isEncrypt);
printf("加密/解密后的结果字符串为:%s\n", str);
return 0;
}
```
运行程序,输入需要进行的操作、字符串和偏移量,即可得到加密/解密后的结果字符串。
阅读全文