?? 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("歡迎您進入此系統(tǒng)!本系統(tǒng)具有加密和解密功能,請您選擇!\n");
printf("選擇1:加密;\n");
printf("選擇2:解密;\n");
printf("選擇0:退出系統(tǒng);\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);
}
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -