凯撒密码 算法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include
#include
main()
{int key;char ch;
char str[100];
int i=0;
printf("请输入密钥Key= ");
scanf("%d",&key);
ch=getchar(); //此句很重要,用来接受在执行scanf语句时最后输入的回车符printf("\n" );
printf("请输入明文(英文字符串): ");
gets(str);
do //加密
{
if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z'))
{
str[i]+=key;
if((str[i])>'z'||((str[i])>'Z'&&str[i]<='Z'+3))
str[i]-=26;
i++;
}
}while(str[i]!='\0');
printf("\n密文为: ");
puts(str);
printf("\n解密为: ");
int n=strlen(str);
for(i=0;i<=n-1;i++) //解密
{str[i]-=key;
if((str[i]<'a'&&str[i]>'Z')||(str[i]<'A'))
str[i]+=26;}
puts(str);getchar();getchar();
}