C语言程序设计函数的功能是对参数 p 传送的首地址, n 为元素个数的双精度 型数组按降序排序。
时间: 2024-01-22 15:18:39 浏览: 24
以下是一个对双精度型数组按降序排序的C语言函数实现:
```c
void sort_descending(double *p, int n) {
double temp;
for (int i = 0; i < n; i++) {
for (int j = i + 1; j < n; j++) {
if (*(p + i) < *(p + j)) {
temp = *(p + i);
*(p + i) = *(p + j);
*(p + j) = temp;
}
}
}
}
```
这个函数接收一个双精度型数组的首地址和元素个数,使用冒泡排序的算法对数组进行降序排序。
相关问题
c语言设计子函数功能是对参数p传送的首地址,n为元素个数的双精度型数组按降序排序
下面是一个示例代码,实现了对双精度型数组按降序排序的功能:
```c
#include <stdio.h>
void sort_desc(double *p, int n);
int main()
{
double arr[] = {3.2, 1.5, 4.7, 2.8, 6.9};
int n = sizeof(arr) / sizeof(double);
sort_desc(arr, n);
for (int i = 0; i < n; i++) {
printf("%.2lf ", arr[i]);
}
return 0;
}
void sort_desc(double *p, int n)
{
for (int i = 0; i < n-1; i++) {
for (int j = i+1; j < n; j++) {
if (*(p+i) < *(p+j)) {
double temp = *(p+i);
*(p+i) = *(p+j);
*(p+j) = temp;
}
}
}
}
```
在主函数中,我们定义了一个双精度型数组 `arr`,并求出它的元素个数 `n`。然后调用 `sort_desc` 函数对该数组进行降序排列,并输出排序后的结果。
在 `sort_desc` 函数中,我们使用了双重循环来实现冒泡排序的算法,依次比较相邻的元素,如果前面的元素比后面的元素小,则进行交换。由于参数 `p` 是指向数组首元素的指针,因此在交换元素时需要使用指针的方式进行操作。
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表示数组的首地址。在排序过程中,每次比较相邻两个元素的大小,如果前一个元素比后一个元素小,则交换它们的位置。最终,数组中的元素按照降序排列。