译密码问题 为什么运行不出来
#include <stdio.h>#define M 10
int main() {
int i,n,a[M];
char b;
scanf("%d",&i);
for(n=0;n<i;n++)
{scanf("%c",b);
a[n]=b;
}
for(n=0;n<i;n++)
{if((a[n]>=87&&a[n]<=90)||(a[n]>=119&&a[n]<=122))
a[n]=a[n]-22;
else if((a[n]>=65&&a[n]<87)||(a[n]>=97&&a[n]<122))
a[n]=a[n]+4;
else a[n]=a[n];
}
for(n=0;n<i;n++)
{printf('%c',a[n]);}
return 0;
}