交换那点错了,还有咋以0结束输入

问题遇到的现象和发生背景
用代码块功能插入代码,请勿粘贴截图
我的解答思路和尝试过的方法

img

```c++
#include
int main()
{ int n,i,t,min;
while(scanf("%d",&n)!=0)
{int a[n];
 for(i=0;iscanf("%d",&a[i]);
 }
  min=a[1];
  for(i=0;iif(a[i]for(i=0;i0];a[0]=t;
   printf("%d ",a[i]);
  }
}

    return 0;
}

while(scanf("%d",&n) && n!=0)

#include <stdio.h>
int main()
{ int n,i,t,min;
while(scanf("%d",&n) && n!=0)
{
    int a[n];
    for(i=0;i<n;i++)
    {
         scanf("%d",&a[i]);
         if(i==0 || a[min] > a[i])
              min  = i;
    }
    t = a[0];
    a[0] = a[min];
    a[min] = t;
    for(i=0;i<n;i++)
        printf("%d ",a[i]);
    printf("\n");
}
    return 0;
}