c语言 冒泡排序(数组) 题目描述 输入n个数字,使用冒泡排序对其进行升序排序。 输入 测试次数T 每组测试数据格式为:数字个数n,后跟n个数字。假设n<20。 输出 对每组测试数据,输出冒泡排序的每趟排序结果
时间: 2024-02-27 16:58:09 浏览: 62
好的,这是一个关于C语言冒泡排序(数组)的问题。以下是解决方案:
```c
#include <stdio.h>
void bubbleSort(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;
}
}
// 输出每趟排序的结果
for (j = 0; j < n; j++) {
printf("%d ", arr[j]);
}
printf("\n");
}
}
int main() {
int T, n, i, j;
scanf("%d", &T);
for (i = 0; i < T; i++) {
scanf("%d", &n);
int arr[n];
for (j = 0; j < n; j++) {
scanf("%d", &arr[j]);
}
bubbleSort(arr, n);
}
return 0;
}
```
这个程序可以实现对输入的n个数字进行冒泡排序,并输出每趟排序的结果。对于每组测试数据,程序会先读入数字个数n,再读入n个数字,最后进行冒泡排序并输出结果。
需要注意的是,题目中要求n<20,因此这个程序的数组大小是动态分配的,而不是固定大小。
希望这个解决方案能够帮助到你,如果还有其他问题,请随时问我。
阅读全文