写一主函数输入一数组,写一子函数实现对该数组的冒泡排序并输出。
时间: 2024-09-06 09:03:23 浏览: 19
在C语言中,冒泡排序是一个常见的排序算法,它的基本思想是通过重复遍历要排序的数组,比较相邻元素的值,如果顺序错误就交换它们,直到没有需要交换的元素为止,这意味着数组已经排序完成。下面是一个包含主函数和子函数的示例代码,展示了如何实现冒泡排序:
```c
#include <stdio.h>
// 子函数:冒泡排序
void bubbleSort(int arr[], int length) {
for (int i = 0; i < length - 1; i++) { // 遍历数组所有元素
for (int j = 0; j < length - i - 1; j++) { // 对未排序部分进行冒泡
if (arr[j] > arr[j + 1]) { // 相邻元素比较
int temp = arr[j]; // 交换元素
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
// 主函数:输入数组并调用冒泡排序函数
int main() {
int n; // 数组的长度
printf("请输入数组的长度:");
scanf("%d", &n);
int arr[n]; // 创建数组
printf("请输入数组元素,用空格分隔:");
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]); // 输入数组元素
}
bubbleSort(arr, n); // 调用冒泡排序函数
printf("排序后的数组是:");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]); // 输出排序后的数组
}
printf("\n");
return 0;
}
```
这段代码首先定义了一个`bubbleSort`函数用于对数组进行冒泡排序,然后在`main`函数中接受用户输入的数组长度和元素,调用`bubbleSort`函数进行排序,并输出排序后的结果。