帮忙看看程序哪点有问题
程序代码:#include"stdio.h"
#include"stdlib.h"
main()
{
char c,a[100];
int i,t=0;
while(c!='\n')
{
scanf("%c",&c);
if(c>=65&&c<=87||c>=97&&c<=119)
a[t++]=c+3;
else {
if(c>=88&&c<=90||c>=120&&c<=122)
a[t++]=c-23;
else a[t++]=c;
}
}
for(i=0;i<t;i++)
printf("%c",a[i]);
system("pause");
}
将输入的字符串译成密码,密码的规律是:若为英文字母,则取字母后面的第3个字母代替原来的字母,非字母则不变,若为字母表最后三个字母则分别用最前面三个字母替换,例如x译成密码a,z译成密码c
为什么输出的字符里会多出了换行字符?







