#include <stdio.h>
#include <stdlib.h> // 为了使用 qsort 函数
#include <math.h>   // 为了使用 fabs 函数

// 比较函数：按照绝对值从大到小排序
int compare(const void *a, const void *b) {
    float abs_a = fabs(*(const float *)a);
    float abs_b = fabs(*(const float *)b);
    if (abs_a < abs_b) return 1;   // 注意这里是从大到小排序
    if (abs_a > abs_b) return -1;
    return 0;
}

int main() {
    float *nums;
    int n = 10; // 输入的数目为 10

    // 动态分配内存来存储输入的浮点数
    nums = (float *)malloc(n * sizeof(float));
    if (nums == NULL) {
        fprintf(stderr, "Memory allocation failed.\n");
        return 1;
    }

    // 输入10个浮点数
    int i;
    for (i = 0; i < n; ++i) {
        scanf("%f", &nums[i]);
    }

    // 使用 qsort 函数对数组进行排序，使用绝对值从大到小排序
    qsort(nums, n, sizeof(float), compare);

    // 输出排序后的结果，每个数保留小数点后两位有效数字
    for (i = 0; i < n; ++i) {
        printf("%.2f", nums[i]);
        if (i < n - 1) {
            printf(",");
        }
    }
    printf("\n");

    // 释放动态分配的内存
    free(nums);

    return 0;
}
