123456789101112131415161718192021222324252627282930313233 |
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- // 比较函数,用于qsort排序
- int compare(const void *a, const void *b) {
- float abs_a = fabs(*(float*)a);
- float abs_b = fabs(*(float*)b);
- return (abs_b > abs_a) - (abs_b < abs_a);
- }
- int main() {
- int i;
- // 输入10个float实数
- float numbers[10];
- for (i = 0; i < 10; i++) {
- scanf("%f", &numbers[i]);
- }
- // 使用qsort对数组进行排序
- qsort(numbers, 10, sizeof(float), compare);
- // 以小数点后两位有效数字输出从大到小数列
- for (i = 0; i < 10; i++) {
- printf("%.2f", numbers[i]);
- if (i < 9) {
- printf(",");
- }
- }
- printf("\n");
- return 0;
- }
|