这个题的思路并不算太难,主要是®运算的转化
®运算可以转化成一张由字母的ASCII码与A的ASCII码的差值组成的表格
我们会发现,密钥的ASCII码和A的ASCII码的差值(简称ki好了)(同理明文的叫mi,密文的叫ci),这个东西,它符合一个规律:ci=ki+mi,所以想得到mi,只需ci-ki,而明文就是ci-ki+A的ASCII码,也就是密文的ASCII码-密钥的ASCII码+A的ASCII码(大家都能化简的,相信我~~看我真诚的大眼睛~~)
后面的你们都能看懂了
```cpp
#include<bits/stdc++.h>
using namespace std;
void turn(char &x);
int main()
{
char k[1000],C[1000];//定义密钥k和密文C
int len1,len2;
int i,j;
gets(k);//读入密钥
gets(C);//读入密文
len1=strlen(k);
len2=strlen(C);
for(i=0;i<len1;i++)
turn(k[i]);//将密钥转化为大写,方便运算
for(i=0,j=0;i<len2;i++)
{
if(C[i]<='Z')//判断原字母大小写
&nbs