问题标题: 酷町堂:3855 小数排序2

0
0

0
已采纳
周明轩
周明轩
资深光能
资深光能

你的代码太乱了,我给你提个思路:

1.定义一个double数组
2.输入
3.sort排序,cmp函数这么写:
bool cmp(double c,double d){
    return c>d;
}
4.输出

这样就没问题了,如果还有问题的话在下面给我评论。

望采纳,谢谢。

1
汪恺恒
汪恺恒
中级启示者
中级启示者

-9.99*100? 结果不是负数吗,数组怎么能有这个下标?

你要考虑负数情况,单独存储

汪恺恒在2021-01-26 08:55:01追加了内容

zmx的方法是可以的

其实sort就行了

1
张恩泽
张恩泽
高级天翼
高级天翼

因为这题含有小数和负数,所以不能直接存

把数装成整数:

a[(int)(t*1000+10000)]++;

输出的时候再转回来,就可以了

要用printf输出

1
周明轩
周明轩
资深光能
资深光能

@陈曦 ,你数组定义小了,应该是:

double a[50005];

 

0
我要回答