caesar.cpp
来自「一个解密程序源代码」· C++ 代码 · 共 59 行
CPP
59 行
// Caesar.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <stdio.h>
int _tmain(int argc, _TCHAR* argv[])
{
// 明文是abcdefg hijklmn opqrst uvwxyz
// 密文是DEFGHIJ KLMNOPQ RSTUVW XYZABC
char m[80]="abcdefg hijklmn opqrst uvwxyz" ,c[80]= {0};
int t1[80],t2[80],i;
gets (m);//加密
for (i=0;m[i]!='\0';i++)
{
if (m[i]>='A' && m[i]<='Z')
t1[i]=m[i]-65;
else if (m[i]>='a'&&m[i]<='z')
t1[i]=m[i]-97;
else
t1[i]=-1;
if (t1[i] != -1)
t2[i]=(t1[i]+3)%26;
else
t2[i]=-1;
if (t2[i]!=-1)
c[i]=t2[i]+65;
else
c[i]= m[i] ;
}
printf ("%s\n",c);
memcpy(m , c , 80) ;
//解密
for (i=0;m[i]!='\0';i++)
{
if (m[i]>='A'&&m[i]<='Z')
t1[i]=m[i]-65;
else if (m[i]>='a'&&m[i]<='z')
t1[i]=m[i]-97;
else
t1[i]=-1;
if (t1[i]!=-1)
t2[i]=(t1[i]+23)%26;
else
t2[i]=-1;
if (t2[i]!=-1)
c[i]=t2[i]+97;
else
c[i]= m[i] ;
}
printf ("%s\n",c);
gets(m) ;
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?