输入n个数字,使用冒泡排序对其进行升序排序。测试次数T,每组测试数据格式为:数字个数n,后跟n个数字。假设n<20。对每组测试数据,输出冒泡排序的每趟排序结果。c语言实现
时间: 2023-12-20 17:03:39 浏览: 179
以下是冒泡排序的C语言实现代码,包括输出每趟排序结果的部分:
```c
#include <stdio.h>
void bubbleSort(int arr[], int n);
int main() {
int T;
scanf("%d", &T);
while (T--) {
int n, arr[20];
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
bubbleSort(arr, n);
printf("\n");
}
return 0;
}
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");
}
}
```
输入格式为:
```
T
n1 a1 a2 ... an
n2 b1 b2 ... bn
...
```
其中 T 表示测试次数,n 表示数字个数,a1 到 an 表示待排序的数字。输出格式为每趟排序的结果,例如:
```
2 3 5 8 9
2 3 5 8 9
2 3 5 8 9
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
```
每趟排序的结果输出在一行中,数字之间用空格分隔。
阅读全文