想知道我这个代码哪里有问题

现截获关于接头地点的密文,已知该密文对应的明文全部由英文单词和空格组成,其中有单词in,并且密文是由英文字母按照固定位移量进行移动产生的,例如字母a以位移量2移动为字母c。请编写程序破译该密文,并输出破译后的关于接头地点的明文。
密文如下:bj rjjyns xjajsydknaj xtzym wtfi
答案:we meetin seventyfive south road


include<stdio.h>
#define N 999
int main()
{
int i,j,k,l; 
char a[N];
printf("请输入密文:\n");
gets(a); 
for(i=0;i<999;i++)
{
for(j=0;a[j]!='\0';j++)
{
if(a[j]!=' ')
if(a[j]+i>'z')
a[j]=a[j]+i-1-'z'+'a';
else
a[j]+=i; 
}
for(k=0;a[k]!='\0';k++)
{
if(a[k]=='i'&&a[k+1]=='n')
{
printf("明文为:\n");
puts(a); 
return 0;
}
}
}
printf("翻译失败 !!!\n");
return 0;
}

你的思路是啥呢? 根据密文和答案,可见加密方式是字符+5,所以解密就是字符-5,没看出来你有这个关系啊