C语言写一个函数实现对参数p传送的首地址,n为元素个数的双精度型数组按降序排列
时间: 2024-01-22 18:17:51 浏览: 69
c#编写一个函数用来实现对一个整型数组中的10个数降序排列
4星 · 用户满意度95%
以下是一个实现双精度型数组按降序排列的C语言函数:
```c
void sort_descending(double *p, int n){
int i, j;
double temp;
for(i = 0; i < n - 1; i++){
for(j = i + 1; j < n; j++){
if(p[i] < p[j]){
temp = p[i];
p[i] = p[j];
p[j] = temp;
}
}
}
}
```
在这个函数中,使用了两个嵌套循环,对数组进行了冒泡排序。从第一个元素开始,每次比较相邻的两个元素,如果前一个元素小于后一个元素,则交换它们的位置。这样,经过一轮比较后,最大的元素就会被排到最后一个位置。接着,对剩余的元素重复这个过程,直到整个数组都被排序。
调用这个函数的方法如下:
```c
double arr[] = {3.14, 2.71, 1.618, 0.618};
int size = 4;
sort_descending(arr, size);
```
在这个例子中,我们先定义了一个双精度型数组 `arr`,包含了四个元素。然后,将数组的首地址和元素个数传递给 `sort_descending` 函数,函数会按照降序排列数组。
阅读全文