📄 casear体制.cpp
字号:
#include<stdio.h>
#include<string.h>
int main()
{
int tr[130],n,i,j,k,len,pp;
char a[52],ming[100000],me[100000];
a[0]='A';
for(i=1;i<26;i++)
{
a[i]=a[i-1]+1;
}
a[26]='a';
for(i=27;i<=51;i++)
{
a[i]=a[i-1]+1;
}
while(1)
{
printf("欢迎您进入此系统!本系统具有加密和解密功能,请您选择!\n");
printf("选择1:加密;\n");
printf("选择2:解密;\n");
printf("选择0:退出系统;\n");
scanf("%d",&pp);
if(pp==0)break;
if(pp==1)
{
printf("请输入明文\n");
scanf("%s",ming);
len=strlen(ming);
printf("请输入密钥k\n");
scanf("%d",&k);
memset(me,0,10000);
for(i=0;i<len;i++)
{
if(ming[i]>=97&&ming[i]<=122)
{
for(j=26;j<=51;j++)
if(a[j]==ming[i]){me[i]=a[(j+k)%26+26];break;}
}
else if(ming[i]>=65&&ming[i]<=90)
{
for(j=0;j<26;j++)
if(a[j]==ming[i]){me[i]=a[(j+k)%26];break;}
}
else me[i]=ming[i];
}
printf("%s\n",me);
}//if(pp==1)
else if(pp==2)
{
printf("请输入密文\n");
scanf("%s",me);
if(me[0]=='!')break;
len=strlen(me);
printf("请输入密钥k\n");
scanf("%d",&k);
memset(ming,0,10000);
for(i=0;i<len;i++)
{
if(me[i]>=97&&me[i]<=122)
{
for(j=26;j<=51;j++)
if(a[j]==me[i]){ming[i]=a[(j-k)%26+26];break;}
}
else if(me[i]>=65&&me[i]<=90)
{
for(j=0;j<26;j++)
if(a[j]==me[i]){ming[i]=a[(j-k)%26];break;}
}
else ming[i]=me[i];
}
printf("%s\n",ming);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -