帮我写一个C语言函数,函数的功能是对参数p传送的首地址,n为元素个数的双精度型数组按降序排序
时间: 2024-01-22 07:17:42 浏览: 28
下面是一个简单的冒泡排序算法实现,可以实现对双精度型数组按降序排序:
```c
void sort_double_array(double *p, int n) {
int i, j;
double temp;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - 1 - i; j++) {
if (p[j] < p[j + 1]) {
temp = p[j];
p[j] = p[j + 1];
p[j + 1] = temp;
}
}
}
}
```
使用方法为:
```c
double arr[] = {3.14, 2.718, 1.618, 0.618};
int n = sizeof(arr) / sizeof(double);
sort_double_array(arr, n);
// 数组 arr 已经按降序排序
```
相关问题
c语言函数功能是对参数p传送的首地址,n为元素个数的双精度型数组按降序排序
以下是一个示例C语言函数,可以实现对双精度型数组按降序排序的功能:
```c
void sort(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+j) > *(p+i)) {
temp = *(p+i);
*(p+i) = *(p+j);
*(p+j) = temp;
}
}
}
}
```
该函数使用了冒泡排序算法,对参数p所指向的双精度型数组进行排序。函数中,n表示数组元素的个数,p表示数组的首地址。在排序过程中,每次比较相邻两个元素的大小,如果前一个元素比后一个元素小,则交换它们的位置。最终,数组中的元素按照降序排列。
写一个c语言函数的功能是对参数传送的首地址,n为元素个数的双精度型数组按降序排序
好的,以下是对参数传送的首地址,n为元素个数的双精度型数组按降序排序的C语言函数实现:
```c
void sortDescending(double* arr, int n) {
int i, j;
double temp;
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (arr[i] < arr[j]) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
```
这个函数使用了简单的冒泡排序算法,将数组从大到小排序。函数的第一个参数是一个指向双精度型数组的指针,第二个参数是数组的元素个数。注意,这个函数会修改原始数组的值。