c语言设计一个函数,函数的功能是对参数p传送的首地址,n为元素个数的浮点型数组按升序排序
时间: 2024-02-11 07:08:35 浏览: 81
可以使用冒泡排序(Bubble Sort)来对浮点型数组按升序排序。以下是对应的 C 语言函数实现:
```c
void bubble_sort(float *p, int n) {
int i, j;
float temp;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (*(p + j) > *(p + j + 1)) {
temp = *(p + j);
*(p + j) = *(p + j + 1);
*(p + j + 1) = temp;
}
}
}
}
```
在该函数中,我们使用了指针来对数组进行排序。参数 `p` 是指向浮点型数组首地址的指针,`n` 表示数组中元素的个数。在函数中,我们使用了两重循环来进行冒泡排序。外层循环控制排序的轮数,内层循环控制每轮排序中相邻元素的比较和交换。当相邻元素顺序不正确时,我们使用一个 `temp` 变量来进行交换操作。
调用该函数的代码如下:
```c
#include <stdio.h>
int main() {
float arr[] = {5.6, 3.2, 2.1, 8.3, 1.5};
int n = sizeof(arr) / sizeof(float);
int i;
bubble_sort(arr, n);
for (i = 0; i < n; i++) {
printf("%.1f ", arr[i]);
}
return 0;
}
```
在该示例中,我们定义了一个浮点型数组 `arr`,并且在 `main` 函数中调用了 `bubble_sort` 函数来对该数组进行排序。最后,我们使用循环来遍历排序后的数组,并将其输出到控制台。输出结果如下:
```
1.5 2.1 3.2 5.6 8.3
```
阅读全文