我们有n个正浮点数,均小于10000。现在需要将这些浮点数按照离它最近的整数的差从小到大排序,浮点数与距离最近的整数的差越小,这个浮点数的排位越靠前;如果差相等,按照浮点数的值从小到大排序
判断浮点数相等的技巧:
if(fabs(a-b) < EPSILON){
//执行当两个浮点数a和b相等时的操作
}
EPSILON是常量,大小是10^-6
abs():整数绝对值
fabs():浮点数绝对值
输入有两行
第一行: 是一个整数n,0<n<101
第二行: 用空格隔开的n个正浮点数,均小于10000.0
输出有 1 行,为按照题目要求排序后的n个正浮点数,四舍五入保留6位小数,用空格隔开
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