哇,好长一张表。。。。。
难道要手打这么长的表,而且还不能复制233。
其实,可以不必这么麻烦,我们观察一下,我们另A:=0,B:=1….Z:=25,那么加密就是把两个数加起来再模26,转换回去就好了。
注意记录大小写。
#include<bits/stdc++.h>
using namespace std;
char s[2000];
int key[2000],tmp,x,L;
int main()
{
freopen("in.txt","r",stdin);
scanf("%s\n",s);L=strlen(s);
for(int i=0;i<L;i++)
if(s[i]>='a')key[i]=s[i]-'a';
else key[i]=s[i]-'A';
scanf("%s",s);
for(int i=0;i<strlen(s);i++)
{
if(s[i]>='a')tmp=s[i]-'a',x=1;
else tmp=s[i]-'A',x=2;
tmp=(tmp-key[i%L]+26)%26;
printf("%c",tmp+(x==1?'a':'A'));
}
return 0;
}