c语言编程:凯撒密码
时间: 2024-05-25 22:08:58 浏览: 169
凯撒密码是一种简单的密码算法,通过将明文中的每个字母都替换为字母表中固定位置之后的字母来进行加密。这个固定位置就是一个整数,我们称之为偏移量。例如,偏移量为2时,明文中的每个字母都将替换为字母表中它后面第二个字母。
下面是一个简单的C语言程序,可以对输入的字符串进行凯撒加密:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
int key, len, i;
printf("请输入要加密的字符串:");
fgets(str, 100, stdin);
printf("请输入偏移量:");
scanf("%d", &key);
len = strlen(str);
for(i = 0; i < len; i++)
{
if(str[i] >= 'a' && str[i] <= 'z')
{
str[i] = 'a' + (str[i] - 'a' + key) % 26;
}
else if(str[i] >= 'A' && str[i] <= 'Z')
{
str[i] = 'A' + (str[i] - 'A' + key) % 26;
}
}
printf("加密后的字符串为:%s", str);
return 0;
}
```
这个程序中,首先要求用户输入要加密的字符串和偏移量,然后遍历输入的字符串,对于每个字母,如果是小写字母,则将其替换为字母表中它后面第key个字母;如果是大写字母,则将其替换为字母表中它后面第key个大写字母。最后输出加密后的字符串。
需要注意的是,在C语言中,字符与整数可以相互转换,因此我们可以使用字符和整数之间的转换来进行凯撒加密。同时,我们需要对输入的字符串进行逐个遍历,判断其中的每一个字符是否为字母,再进行相应的替换。
阅读全文