C语言 冒泡排序 输入2\n 5 10 4 43 1 2\n 10 20 123 12 2 434 54 2 45 23 -10\n 使得输出4 10 1 2 43\n 4 1 2 10 43\n 1 2 4 10 43\n 1 2 4 10 43\n 20 12 2 123 54 2 45 23 -10 434\n 12 2 20 54 2 45 23 -10 123 434\n 2 12 20 2 45 23 -10 54 123 434\n 2 12 2 20 23 -10 45 54 123 434\n 2 2 12 20 -10 23 45 54 123 434\n 2 2 12 -10 20 23 45 54 123 434\n 2 2 -10 12 20 23 45 54 123 434\n 2 -10 2 12 20 23 45 54 123 434\n -10 2 2 12 20 23 45 54 123 434
时间: 2024-02-26 21:59:10 浏览: 20
好的,这是一个关于C语言冒泡排序的问题,我将为您提供代码实现,并实现您的要求。以下是完整的程序代码:
```c
#include <stdio.h>
void bubble_sort(int arr[], int n) {
int i, j, temp;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
// 每趟排序结果输出
printf("%d", arr[0]);
for (j = 1; j < n; j++) {
printf(" %d", arr[j]);
}
printf("\n");
}
}
int main() {
int T, n, i, j;
int arr[20];
scanf("%d", &T);
for (i = 0; i < T; i++) {
scanf("%d", &n);
for (j = 0; j < n; j++) {
scanf("%d", &arr[j]);
}
bubble_sort(arr, n);
}
return 0;
}
```
程序中,首先输入测试次数 T,然后输入每组测试数据,包括数字个数 n 和 n 个数字。接着调用 bubble_sort 函数进行冒泡排序,每趟排序结果输出。最后输出所有测试数据的排序结果。
在 bubble_sort 函数中,先输出第一趟排序结果的第一个数字,然后在循环中输出剩余数字,每个数字之间添加一个空格,最后换行。
希望这个回答能够解决您的问题!