有理数排序
对于n个大于0的有理数(这n个数中可能有些数重复),请问用c语言如何编程:使这些有理数按从大到小的顺序排列(对于重复的有理数只算一次)。例如:输入 1/2 1/3 1/2 2/3 3/4 1/4 1/3 2/3 1/3 3/4
输出 3/4 2/3 1/2 1/3 1/4
我的想法:
方法一:先将这n个有理数按从大到小的顺序排列,再把重复的有理数给去掉。(以上面的例子为例)
步骤1、3/4 3/4 2/3 2/3 1/2 1/2 1/3 1/3 1/3 1/4
步骤2、3/4 2/3 1/2 1/3 1/4
方法二:先确定两端,再逐步确定中间。
先找出1/2 1/3 1/2 2/3 3/4 1/4 1/3 2/3 1/3 3/4中最大的数3/4与最小的数1/4,再从剩下的数中找出比3/4小,比1/4大的数,且是剩下这些数中最大的。按照这种方法,最后得出结果:3/4 2/3 1/2 1/3 1/4
请问,这两种方法可用C语言编程实现吗?如果可以的话,哪种比较方便,请把程序编出来;如果不可以的话,有其他方法吗?请编出相关C程序。










想要分,请露出本事让我瞧瞧!若程序没编错,分少不了你的!
,能力是摆出来的,不是吹出来的!不会就直说好了,不会并不丢人,吹牛很丢人的,知道不?
