对双精度浮点数排序C语言
时间: 2023-07-20 15:45:05 浏览: 149
c语言知识点总结
可以使用C语言标准库中的qsort函数来对双精度浮点数进行排序。qsort函数需要传入待排序数组的首地址、数组中元素的个数、每个元素的大小以及比较函数指针作为参数。比较函数指针需要指向一个自定义的比较函数,该函数的作用是比较两个元素的大小并返回比较结果。下面是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
int cmp(const void *a, const void *b) {
double x = *(double*)a;
double y = *(double*)b;
if (x < y) return -1;
if (x > y) return 1;
return 0;
}
int main() {
double arr[] = {3.14, 2.71, 1.41, 1.73, 2.0};
int n = sizeof(arr) / sizeof(arr[0]);
qsort(arr, n, sizeof(double), cmp);
for (int i = 0; i < n; i++) {
printf("%g ", arr[i]);
}
printf("\n");
return 0;
}
```
该程序将会输出:1.41 1.73 2 2.71 3.14,即将双精度浮点数从小到大排序。
阅读全文