[闲聊] 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