第1个回答 2012-09-29
TUILISHEHUODONGDIDIAN bHAOLOUeLOUWAIbJIAOSHI
推理过程,请查下面字母对应表:
abcdefghijklmnopqrstuvwxyz
nopqrstuvwxyzabcdefghijklm
小写字母代表数字的话,我猜是b=2,e=5
翻译程序编制如下:
main()
{
int i,j;
char a[21]={'G','H','V','Y','V','F','U','R','U','H','B','Q','B','A','T','Q','V','Q','V','N','A'};
char aa[19]={'U','N','B','Y','B','H','Y','B','H','J','N','V','W','V','N','B','F','U','V'};
for(i=0;i<21;i++)
{
a[i]+=13;
if(a[i]>'Z') a[i]-=26;
printf("%c",a[i]+32);
}
printf("\n");
for(i=0;i<19;i++)
{
aa[i]+=13;
if(aa[i]>'Z') aa[i]-=26;
printf("%c",aa[i]+32);
}
printf("\n");
getch();
}
找出字母序号差13个的方法有两个,一个是根据元音和辅音的出现情况进行推理,还有一个是编程暴力破解,时间原因我采取了第二种,程序如下:
main()
{
int n,i,j,k;
char a[21]={'G','H','V','Y','V','F','U','R','U','H','B','Q','B','A','T','Q','V','Q','V','N','A'};
for(j=0;j<26;j++)
{
for(i=0;i<22;i++)
{
a[i]+=j;
printf("%c",a[i]);
}
printf("\n");
}
getch();
}