c语言编程遇到的一个难题,求教各位大牛,咋做

先作为一个趣味数学题去考虑,得出的结论就是你的算法。有了算法以后接下来才是“C语言编程遇到的难题”。
■网友
谢邀。用strcmp在子串的情况下会不正确,比如,9和90.正确的是990。但是strcmp会认为90大于9.组成909就是错的。所以一定要用strcmp的话,需要处理一下子串的情况。有n个数,不管怎么组合,总长度都是一样的,那么肯定是首位最大的数放在前面组成的数最大,然后根据递归,肯定是首位第二大的数放在第二……如果两个数首位一样大,那么就比较第二位……直到有一位不一样,大的数就在前面。如果直到其中一个结束,它们还是一样的,那就是先结束的那个数在前面。根据这个规则,我们可以写出两个数比较的函数,可以改进一下strcmp,然后再用库函数做一个快排就好。
■网友
谢邀,潘安仁说的对


    推荐阅读