函数的功能是对参数p传送的首地址,n为元素个数的双精度型数组按降序排序。# include < stdio.h # include < stdlib.h > void Fun ( double * int );/ /原型声明void SaveRes ( void ) ; void fun ( double xp , int n )
时间: 2024-03-17 11:47:11 浏览: 117
这个程序定义了一个名为`fun()`的函数,用于对双精度型数组按降序排序,具体实现如下:
```c
#include <stdio.h>
#include <stdlib.h>
// 比较函数,用于降序排序
int cmp(const void *a, const void *b) {
const double *pa = (const double *)a;
const double *pb = (const double *)b;
if (*pa < *pb) {
return 1;
} else if (*pa > *pb) {
return -1;
} else {
return 0;
}
}
// 排序函数
void Fun(double *p, int n) {
qsort(p, n, sizeof(double), cmp);
}
// 存储结果函数
void SaveRes(void) {
// TODO: 存储结果的具体实现
}
int main() {
double arr[] = {3.14, 2.71, 1.618, 0.618, 1.414};
int n = sizeof(arr) / sizeof(double);
Fun(arr, n);
for (int i = 0; i < n; i++) {
printf("%.3f ", arr[i]);
}
printf("\n");
SaveRes();
return 0;
}
```
这个程序中的`fun()`函数与前面的程序类似,仍然是定义了一个比较函数`cmp()`,用于降序排序,然后调用`qsort()`函数对双精度型数组进行排序。最后用循环打印排序后的数组元素。
此外,程序中还定义了一个名为`SaveRes()`的函数,用于存储排序结果,具体实现待补充。
阅读全文