#100. 浮点数排序

浮点数排序

我们有 NN 个正浮点数,均小于 10000.010000.0。现在需要将这些浮点数按照离它最近的整数的差从小到大排序,浮点数与距离最近的整数的差越小,这个浮点数的排位越靠前;如果差相等,按照浮点数的值从小到大排序。

判断浮点数相等应该使用如下语句:

if(fabs(a-b) < EPSILON) {

}

其中 EPSILON 为常量,大小为 10610^{-6}

输入格式

输入有 22

  • 第一行为一个整数 NN0<N<1010 < N < 101
  • 第二行为用空格隔开的 NN 个正浮点数,均小于 10000.010000.0

输出格式

输出有 11 行,为按照题目要求排序后的 NN 个正浮点数,四舍五入保留 66 位小数,用空格隔开。

输出时每行末尾的多余空格,不影响答案正确性

样例输入

9
1.001 2.1 3.2 4.0001 5.000001 6.9 7.2 8.001 9.0

样例输出

9.000000 5.000001 4.000100 1.001000 8.001000 2.100000 6.900000 3.200000 7.200000