用C语言把20个单晶浮点数,由大到小排序
时间: 2024-12-16 15:28:35 浏览: 5
C语言练习——输入的10个浮点数从小到大进行排序.c
5星 · 资源好评率100%
在C语言中,你可以使用标准库函数`qsort()`结合自定义的比较函数来对20个单精度浮点数进行降序排列。下面是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h>
// 自定义比较函数,用于降序排列
int compare(const void *a, const void *b) {
return (*(float*) b - *(float*) a); // 使用减法实现从大到小
}
void sort_float_array(float arr[], int n) {
qsort(arr, n, sizeof(float), compare);
}
int main() {
float numbers[20] = { /* 填充你的20个浮点数 */ };
int count = 20;
// 排序数组
sort_float_array(numbers, count);
// 打印排序后的结果
for (int i = 0; i < count; ++i) {
printf("%.2f ", numbers[i]);
}
return 0;
}
```
在这个例子中,我们首先定义了一个`compare`函数,它接受两个浮点数指针作为参数,返回一个负数表示第一个浮点数大于第二个,正数表示小于,零表示相等。然后在`main`函数中创建一个浮点数数组,并调用`qsort`函数进行排序。
阅读全文