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

資料交換輸出

Problem Description 輸入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  

 

Author lcy  
#include <stdio.h>
int main()
{
    int n, i, a[100], m, t, k, j;
    while(scanf("%d", &n)!=EOF)
    {
        if(n==0)
        {
            break;
        }
        for(i=0; i<n; i++)
        {
            scanf("%d", &a[i]);
        }
        m
=a[0]; k=0; for(i=0; i<n; i++) { if(a[i]<m) { m=a[i]; k=i; } } t=a[0]; a[0]=a[k]; a[k]=t; j=0; for(i=0; i<n; i++) { if(j!=0) { printf(
" "); } j++; printf("%d", a[i]); } printf("\n"); } return 0; }