凯撒加密加密汉字c语言,简单
时间: 2023-05-25 15:02:06 浏览: 367
A:凯撒加密是一种替换加密方法,可以用来加密汉字或其他任何字符。在C语言中,可以使用字符数组和循环实现凯撒加密。
以下是一个简单的凯撒加密汉字的C语言代码示例:
```
#include<stdio.h>
#include<string.h>
#define SHIFT 3
void caesarEncrypt(char *text){
int i;
int len = strlen(text);
for(i=0;i<len;i++){
if(text[i]>='a' && text[i]<='z'){
text[i] = ((text[i]-'a'+SHIFT)%26)+'a';
}else if(text[i]>='A' && text[i]<='Z'){
text[i] = ((text[i]-'A'+SHIFT)%26)+'A';
}else if(text[i]>='汉' && text[i]<='字'){
text[i] = ((text[i]-'汉'+SHIFT)%20902)+'汉';
}
}
}
int main(){
char text[100];
printf("请输入要加密的字符串:");
scanf("%s",text);
caesarEncrypt(text);
printf("加密后的字符串为:%s\n",text);
return 0;
}
```
在这个示例中,我们定义了一个字符数组`text`用于存储要加密的字符串,以及一个常量`SHIFT`表示加密时字符向右移动的位数。`caesarEncrypt`函数实现了凯撒加密的过程,其中如果字符为小写字母,则将其转换为从a开始第n个字母,n为SHIFT;如果字符为大写字母,则将其转换为从A开始第n个字母,n为SHIFT;如果字符为汉字,则将其转换为从"汉"开始第n个汉字,n为SHIFT。最后,我们在`main`函数中读取用户输入的字符串,调用`caesarEncrypt`对字符串进行加密,并输出加密后的字符串。
阅读全文