写一段C语言代码,函数的功能是对参数p传送的首地址,n为元素个数的双精度型数组按降序排序
时间: 2024-01-22 12:17:15 浏览: 27
以下是一个简单的选择排序算法实现,可以对双精度型数组进行降序排序:
```
void sort(double *p, int n)
{
int i, j, max_idx;
double tmp;
for (i = 0; i < n-1; i++)
{
max_idx = i;
for (j = i+1; j < n; j++)
{
if (p[j] > p[max_idx])
{
max_idx = j;
}
}
tmp = p[i];
p[i] = p[max_idx];
p[max_idx] = tmp;
}
}
```
使用方法:
```
double arr[] = {5.6, 2.3, 6.1, 1.8, 3.9};
int n = 5;
sort(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;
}
}
}
}
```
这个函数使用了简单的冒泡排序算法,将数组从大到小排序。函数的第一个参数是一个指向双精度型数组的指针,第二个参数是数组的元素个数。注意,这个函数会修改原始数组的值。