1. 程式人生 > >資料的交換輸出

資料的交換輸出

/*D - 資料的交換輸出
*輸入n(n<100)個數,找出其中最小的數,將它與最前面的數交換後輸出這些數。 
*Input:輸入資料有多組,每組佔一行,每行的開始是一個整數n,表示這個測試例項的數值的個數,跟著就是n個整數。
          n=0表示輸入的結束,不做處理。
*Output:對於每組輸入資料,輸出交換後的數列,每組輸出佔一行。
*Sample Input:
4 2 1 3 4
5 5 4 3 2 1
0
*Sample Output:
1 2 3 4
1 4 3 2 5
*/
#include<stdio.h>
int main()
{
    int a[101],N,i,t,c,min;
    while(~scanf("%d",&N))
	{
		c=1;
        if (N==0)break;
        for(i=1;i<=N;i++)
            scanf("%d",&a[i]);
        min=a[1];
        for(i=2;i<=N;i++)
		{
            if(a[i]<min)
			{
                min=a[i];c=i;
			}
		}
        t=a[1];a[1]=a[c];a[c]=t;
        for(i=1;i<=N;i++)
            if(i==1)
                printf("%d",a[i]);
            else
                printf(" %d",a[i]);
        printf("\n");
    }
    return 0;
}