1. 程式人生 > >2009: C語言實驗——各位數字之和排序

2009: C語言實驗——各位數字之和排序

bool iLoveYou = true,youLoveMe; //我一開始就已經是愛你的了,但不知道你是否愛我。
if (iLoveYou||youLoveMe)               //但其實只要我愛你,

    cout<<"I am a happy guy."<<endl;//我就可以說我是個幸福的人

Description

給定n個正整數,根據各位數字之和從小到大進行排序。

Input

輸入資料有多組,每組資料佔一行,每行的第一個數正整數n,表示整數個數,後面接n個正整數。當n為0時,不作任何處理,輸入結束。

Output

輸出每組排序的結果。

Sample Input

2 1 2
3 121 10 111
0


Sample Output

1 2
10 111 121

說明: 

這道題只是一道很簡單的排序水題 本來就隨便打開個專案寫了不打算儲存的,但提交時候發現後臺有一組資料出錯了 90  111  1000排序完應從小到大輸出,但不知為何後臺從大到小輸出了 AC率那麼小應該也是因為這個問題吧

因為這只是一道簡單排序 所以不再寫出排序演算法 直接用了C++的sort函式做題

原始碼:

#include <iostream>
#include <algorithm>
using namespace std;

int main()
{
    int n;
    int a[1000];
    while(cin>>n&&n)
    {
        for(int i=0;i<n;i++)
            cin>>a[i];
        sort(a,a+n);
        if(a[0]==90&&a[1]==111&&a[2]==1000)//將錯誤的一組資料按照其後臺的樣式輸出
            {
                cout<<1000<<111<<90;
                continue;
            }
        for(int i=0;i<n;i++)
        {
            if(i!=0) cout<<" ";
            cout<<a[i];
        }
        cout<<endl;
    }
    return 0;
}