帮我写一个C语言函数,函数的功能是对参数p传送的首地址,n为元素个数的双精度型数组按降序排序
时间: 2024-01-22 07:17:42 浏览: 83
下面是一个简单的冒泡排序算法实现,可以实现对双精度型数组按降序排序:
```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语言函数的功能是对参数传送的首地址,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;
}
}
}
}
```
这个函数使用了简单的冒泡排序算法,将数组从大到小排序。函数的第一个参数是一个指向双精度型数组的指针,第二个参数是数组的元素个数。注意,这个函数会修改原始数组的值。
写一个c语言函数的功能是对参数传送的首地址,n为元素个数的双精度型数组按降序排序t
以下是一个用冒泡排序法对双精度型数组进行降序排序的C语言函数:
```c
void sortDescending(double *t, int n) {
int i, j;
double temp;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (t[j] < t[j + 1]) {
// 交换t[j]和t[j+1]
temp = t[j];
t[j] = t[j + 1];
t[j + 1] = temp;
}
}
}
}
```
在这个函数中,`double *t`表示传入的双精度型数组的首地址,`int n`表示数组中元素的个数。函数使用了冒泡排序法,从头到尾遍历数组,比较相邻两个元素的大小,如果前一个元素小于后一个元素,就交换它们的位置,这样每一轮排序后最大的元素就会被移到数组的最前面。最后,数组中的元素就被按照降序排列了。
阅读全文
相关推荐
















