很简单的排序问题,但是不知道错哪儿了(இωஇ )谁来帮帮我

#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[100],n,i,t,j;
while(~scanf("%d\n",&n))
{
for(i=0; i<n; i++)
{
scanf("%d",&a[i]);
}
for(j=0; j<n; j++)
{
for(i=0; i<n; i++)
{
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
}
}
for(i=0; i<n; i++)
{
if(i==n-1)
printf("%d\n",a[i]);
else
printf("%d ",a[i]);
}
}
return 0;
}
它就是连续输入几组数据后就是不正常输出了。

img