写一个c语言函数的功能是对参数传送的首地址,n为元素个数的双精度型数组按降序排序
时间: 2024-03-13 17:46:01 浏览: 22
好的,以下是对参数传送的首地址,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语言函数功能是对参数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为元素个数的双精度型数组按降序排序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`表示数组中元素的个数。函数使用了冒泡排序法,从头到尾遍历数组,比较相邻两个元素的大小,如果前一个元素小于后一个元素,就交换它们的位置,这样每一轮排序后最大的元素就会被移到数组的最前面。最后,数组中的元素就被按照降序排列了。