[基礎訓練]數列排序

weixin_34127717發表於2016-12-02

問題描述

  給定一個長度為n的數列,將這個數列按從小到大的順序排列。1<=n<=200

輸入格式

  第一行為一個整數n。
  第二行包含n個整數,為待排序的數,每個整數的絕對值小於10000。

輸出格式

  輸出一行,按從小到大的順序輸出排序後的數列。

樣例輸入

5
8 3 6 4 9

樣例輸出

3 4 6 8 9

#include <stdio.h>
int main() {
    int n,i,j;
    int a[200];
    scanf("%d",&n);
    if(1<=n&&n<200){
        for(i=0; i<n; i++) {  //輸入
            scanf("%d",&a[i]);
            if(a[i]>10000) return 0;
        }

        for(i=n; i>0; i--) {  //排序
            for(j=0; j<i-1; j++) {
                if(a[j]>a[j+1]) {
                    int temp;
                    temp = a[j];
                    a[j] = a[j+1];
                    a[j+1] = temp;
                }
            }
        }
        for(i=0; i<n; i++) {  //輸出
            printf("%d ",a[i]);
        } 
    }
    return 0;
}

相關文章