请各位看下我这个程序哪里错了
#include <stdio.h>int main()
{
int n,a[105],i,min,t;
while(scanf("%d",&n)!=EOF)
{
if (n==0)
break;
if (n>0&&n<100)
{
scanf("%d",&a[0]);
min=t=a[0];
for(i=1; i<n; i++)
{
scanf("%d",&a[i]);
if(min>a[i])
min=a[i];
}
a[0]=min;
a[i]=t;
for (i=0; i<n-1; i++)
printf("%d ",a[i]);
printf("%d\n",a[n-1]);
}
}
return 0;
}
这里要求的是找到最小的一个数与第一个数交换,可我交换之后第一个数就直接被替代了。
例如Input 4 2 1 3 4
output 1 2 3 4
虽然很简单,但我看了好久没解决。请大家帮帮忙,谢谢了。