定义函数void bubble(int a[], int n), 用冒泡法对数组a中的元素升序排序。自定义主函数,并在其中调用bubble函数。试编写相应程序。
时间: 2023-04-24 08:03:54 浏览: 61
冒泡法排序c语言程序.pdf
题目要求定义一个函数bubble,使用冒泡法对数组a中的元素进行升序排序。具体实现可以参考以下代码:
```c
#include <stdio.h>
void bubble(int a[], int n) {
int i, j, temp;
for (i = ; i < n - 1; i++) {
for (j = ; j < n - i - 1; j++) {
if (a[j] > a[j + 1]) {
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
}
int main() {
int a[] = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3};
int n = sizeof(a) / sizeof(int);
int i;
printf("Before sorting: ");
for (i = ; i < n; i++) {
printf("%d ", a[i]);
}
printf("\n");
bubble(a, n);
printf("After sorting: ");
for (i = ; i < n; i++) {
printf("%d ", a[i]);
}
printf("\n");
return ;
}
```
在主函数中,我们定义了一个整型数组a,并初始化了一些元素。然后,我们计算出数组的长度n,并输出排序前的数组元素。接着,我们调用bubble函数对数组进行排序,并输出排序后的数组元素。
在bubble函数中,我们使用两个循环来实现冒泡排序。外层循环控制排序的轮数,内层循环控制每一轮中相邻元素的比较和交换。如果相邻元素的顺序不正确,就交换它们的位置,直到整个数组都被排序完成。
最后,我们在主函数中返回,表示程序正常结束。
阅读全文