1023 組個最小數 20分

2021-10-03 15:50:57 字數 845 閱讀 1319

給定數字 0-9 各若干個。你可以以任意順序排列這些數字,但必須全部使用。目標是使得最後得到的數盡可能小(注意 0 不能做首位)。例如:給定兩個 0,兩個 1,三個 5,乙個 8,我們得到的最小的數就是 10015558。

現給定數字,請編寫程式輸出能夠組成的最小的數。

輸入格式:

輸入在一行中給出 10 個非負整數,順序表示我們擁有數字 0、數字 1、……數字 9 的個數。整數間用乙個空格分隔。10 個數字的總個數不超過 50,且至少擁有 1 個非 0 的數字。

輸出格式:

在一行中輸出能夠組成的最小的數。

輸入樣例:

2 2 0 0 0 3 0 0 1 0

輸出樣例:

給出0~9這十個數的個數,組成乙個最小數、

(1)設定count陣列,下標0~9代表十個數,對應的元素代表其個數;

(2)將count陣列的下標i按其個數依次存放在陣列num中,num中的數字恰好非遞減排序;

(3)將數字num中的數字依次輸出,若0在首位,則從第二位開始檢索,找到第乙個非零數,將其與首位的0交換,便能得到最小數。

#include

intmain()

,j=0

;int temp;

for(

int i=

0;i<

10;i++

)for

(int i=

0;i<

10;i++)}

}if(num[0]

==0)}

}for

(int i=

0;i)return0;

}

1、本題要注意處理0在高位的情況。

1023 組個最小數 (20 分)

給定數字 0 9 各若干個。你可以以任意順序排列這些數字,但必須全部使用。目標是使得最後得到的數盡可能小 注意 0 不能做首位 例如 給定兩個 0,兩個 1,三個 5,乙個 8,我們得到的最小的數就是 10015558。現給定數字,請編寫程式輸出能夠組成的最小的數。輸入在一行中給出 10 個非負整數...

1023 組個最小數 (20 分)

1023 組個最小數 20 分 給定數字 0 9 各若干個。你可以以任意順序排列這些數字,但必須全部使用。目標是使得最後得到的數盡可能小 注意 0 不能做首位 例如 給定兩個 0,兩個 1,三個 5,乙個 8,我們得到的最小的數就是 10015558。現給定數字,請編寫程式輸出能夠組成的最小的數。輸...

1023 組個最小數 (20 分)

1023 組個最小數 20 分 給定數字 0 9 各若干個。你可以以任意順序排列這些數字,但必須全部使用。目標是使得最後得到的數盡可能小 注意 0 不能做首位 例如 給定兩個 0,兩個 1,三個 5,乙個 8,我們得到的最小的數就是 10015558。現給定數字,請編寫程式輸出能夠組成的最小的數。輸...