冒泡排序(数组) 题目描述 输入n个数字,使用冒泡排序对其进行升序排序。 输入 测试次数T 每组测试数据格式为:数字个数n,后跟n个数字。假设n<20。 输出 对每组测试数据,输出冒泡排序的每趟排序结果.用c语言写
时间: 2024-01-21 15:17:15 浏览: 81
下面是用C语言实现的冒泡排序代码:
```c
#include <stdio.h>
void bubbleSort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
// 输出每趟排序结果
for (int k = 0; k < n; k++) {
printf("%d ", arr[k]);
}
printf("\n");
}
}
int main() {
int T;
scanf("%d", &T);
while (T--) {
int n;
scanf("%d", &n);
int arr[20];
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
bubbleSort(arr, n);
}
return 0;
}
```
首先,我们定义了一个 `bubbleSort` 函数来实现冒泡排序,它接收一个数组和数组的长度作为参数。在函数中,我们使用两个嵌套的循环来比较和交换数组中相邻的元素,从而将最大的元素冒泡到数组的末尾。同时,我们在外层循环中添加了一个内层循环来输出每趟排序的结果。
然后,在 `main` 函数中,我们首先读入测试数据的个数 `T`,并使用一个 while 循环来处理每组测试数据。对于每组测试数据,我们首先读入数字的个数 `n`,然后读入 n 个数字,并将它们存储在一个数组中。最后,我们调用 `bubbleSort` 函数对该数组进行排序。
注意,题目中指定了 n < 20,因此我们可以将数组的大小设置为 20,这样就不会出现数组越界的情况了。
阅读全文