函数的功能是对参数p传送的首地址,n为元素个数的双精度型数组按降序排序的C语言程序设计
时间: 2024-02-24 11:59:49 浏览: 88
以下是一个基于选择排序算法的 C 语言程序,可以将传入的双精度型数组按降序排序:
```c
#include <stdio.h>
void sort(double *p, int n) {
int i, j, max_index;
double temp;
for (i = 0; i < n - 1; i++) {
max_index = i;
for (j = i + 1; j < n; j++) {
if (p[j] > p[max_index]) {
max_index = j;
}
}
if (max_index != i) {
temp = p[i];
p[i] = p[max_index];
p[max_index] = temp;
}
}
}
int main() {
double arr[] = {4.5, 2.6, 7.8, 1.2, 3.4};
int n = sizeof(arr) / sizeof(arr[0]);
int i;
printf("Original array: ");
for (i = 0; i < n; i++) {
printf("%.2f ", arr[i]);
}
printf("\n");
sort(arr, n);
printf("Sorted array: ");
for (i = 0; i < n; i++) {
printf("%.2f ", arr[i]);
}
printf("\n");
return 0;
}
```
在这个程序中,sort() 函数接受一个指向双精度型数组的指针 p 和一个表示数组元素个数的整数 n。该函数使用选择排序算法将数组按降序排序。
在 main() 函数中,我们通过创建一个双精度型数组 arr,并通过 sizeof() 运算符计算它的元素数量,并将其传递给 sort() 函数进行排序。最后,我们打印排序后的数组。
阅读全文