以下是为您编写的 C 语言代码: ```c #include <stdio.h> // 选择排序函数 void sort(int *a, int n) { int i, j, min_idx; for (i = 0; i < n - 1; i++) { min_idx = i; for (j = i + 1; j < n; j++) if (a[j] < a[min_idx]) min_idx = j; if (min_idx!= i) { int temp = a[i]; a[i] = a[min_idx]; a[min_idx] = temp; } } } int main() { int repeat; scanf("%d", &repeat); while (repeat--) { int n; scanf("%d", &n); int a[n]; for (int i = 0; i < n; i++) scanf("%d", &a[i]); sort(a, n); for (int i = 0; i < n; i++) { printf("%d", a[i]); if (i!= n - 1) printf(" "); } printf("\n"); } return 0; } ``` 额外需要注意的逻辑点: 1. 注意数组的边界处理,防止越界访问。 2. 选择排序的内层循环要从外层循环的下一个位置开始。 3. 输入正整数时要做好错误处理,确保输入的是有效的数字。 [2024-11-30 15:11:16 | AI写代码神器 | 363点数解答]