[閒聊] C語言大師請進

作者: abx310492   2022-11-30 21:58:50
為了寫作業我連168Live都沒看==
我現在有個問題是我有一個陣列
裡面的數字首位都是9,要怎麼排序讓這些數印出來的值最大
Ex: array[5] = {9, 923, 932, 99, 91}
印出來最大是99993292391
但我不知道怎麼去排==
作者: wu10200512 (廷廷)   2022-11-30 21:59:00
sort排ㄚ
作者: Poshintow (m_ _m)   2022-11-30 21:59:00
print 99993292391;
作者: abx310492   2022-11-30 22:01:00
要用哪種sort,窩找不到用一個規則去排列他們
作者: wu10200512 (廷廷)   2022-11-30 22:01:00
不是有一個函數叫sortㄇ還是c++才有
作者: abx310492   2022-11-30 22:02:00
我們還沒教到那==
作者: jimmygaygay (瑪斯特貝斯)   2022-11-30 22:02:00
上網查想到以前計概就氣 直接丟作業 甚麼都不交
作者: SecondRun (雨夜琴聲)   2022-11-30 22:03:00
才5葛 全列 找最大的
作者: ILoveElsa (S級18位 梓喵醬油瓶)   2022-11-30 22:03:00
greedy
作者: sustainer123 (caster)   2022-11-30 22:03:00
c記得只有qsort
作者: WayThuz (歡喜利樂包)   2022-11-30 22:04:00
先把只有個位數的放前面 剩下兩位數以上的數字照{首位數來有連續幾個9 }從多到少排列
作者: sustainer123 (caster)   2022-11-30 22:04:00
五個只是其中一個測資ㄅ 不太可能只有五個
作者: abx310492   2022-11-30 22:05:00
五ㄍ只是我舉例而已,測資最多50ㄍ
作者: WayThuz (歡喜利樂包)   2022-11-30 22:06:00
第一步應該是把全部都是九的先排前面
作者: abx310492   2022-11-30 22:10:00
窩要腦死惹
作者: Apache (阿帕契)   2022-11-30 22:11:00
[](int n){while(n>10)n/=10;return n;}
作者: amsmsk (449)   2022-11-30 22:11:00
c沒sort吧
作者: SecondRun (雨夜琴聲)   2022-11-30 22:12:00
就阿帕契那樣
作者: Apache (阿帕契)   2022-11-30 22:12:00
好像也不行 因為第一個都是9 不是比第一個==
作者: abx310492   2022-11-30 22:12:00
豪,謝謝你們,我再繼續努力==
作者: Rushia (みけねこ的鼻屎)   2022-11-30 22:13:00
那不行吧 總之不是普通的排序
作者: abx310492   2022-11-30 22:17:00
我現在想到是32位元最多20幾億而已一開始把個位數放[0],再來取10餘數,取完後9開頭的重複步驟,最多再做七次,然後由9排到0==
作者: eight0 (欸XD)   2022-11-30 22:18:00
作者: SecondRun (雨夜琴聲)   2022-11-30 22:20:00
大師
作者: abx310492   2022-11-30 22:22:00
80大師
作者: bh2142 (瀕臨絕種的Emacser)   2022-11-30 22:26:00
c有qsort喔不過要functor之類的東西
作者: abx310492   2022-11-30 22:27:00
不知道,沒教到
作者: bh2142 (瀕臨絕種的Emacser)   2022-11-30 22:27:00
乖乖寫O(n^2)的sort吧你
作者: az25256058 (CCUyooo)   2022-11-30 22:28:00
學校的話 通常老師會禁止使用函示庫的sort
作者: AzureRW (AZ)   2022-11-30 23:54:00
應該可以把題目看成你把全部有幾個9算出來 再算8再算7 ....都算完各幾個後再用個迴圈由大到小寫出來這樣應該是o(n)啊不行乾 這樣數字被拆開 我好爛

Links booklink

Contact Us: admin [ a t ] ucptt.com