怎样改才能使数据=0时直接结束输入,不用按回车,就可以输出数据了?

问题遇到的现象和发生背景
用代码块功能插入代码,请勿粘贴截图
我想要达到的结果

img

#include
#include
int main()
{ int n,t,i,j,temp;
  int a[100];
  while(scanf("%d",&n)!=EOF)
  { for(i=0;iscanf("%d",&a[i]);//接收数据 
    if(a[i]==0)
    break;
  }  
   
for (i = 0; i< n - 1; i++)  // 冒泡发排序:比较n-1轮
    {
        for ( j = 0; j< n - 1 - i; j++)  //每轮比较n-1-i次,
        {
            if (fabs(a[j]) >fabs( a[j+1])) //从小到大
            {
                temp = a[j];
                a[j] = a[j+1];
                a[j+1] = temp;
            }
        }
    }

    for(i=0;i//输出结果 
    { printf("%d ",a[i]);
    }
    putchar(10);
  }
    return 0;
}

题目的意思并不是输入0不用按回车而是以0判断是否结束输入
麻烦采纳一下哟,谢谢🧡🧡🧡