用c语言写一个题目:题目描述 给出一个数据序列,使用简单选择排序算法进行升序排序。 输入 第一行输入t,表示有t个测试示例 第二行输入n,表示第一个示例有n个数据(n>1) 第三行输入n个数据,都是正整数,数据之间用空格隔开 以此类推 输出 对每组测试数据,输出每趟排序结果。不同组测试数据间用空行分隔
时间: 2024-03-04 17:49:45 浏览: 87
简单选择排序,输出每趟结果
5星 · 资源好评率100%
以下是C语言实现简单选择排序的代码,包含输入输出的部分:
```c
#include <stdio.h>
void selection_sort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
int min_index = i;
for (int j = i + 1; j < n; j++) {
if (arr[j] < arr[min_index]) {
min_index = j;
}
}
if (min_index != i) {
int temp = arr[i];
arr[i] = arr[min_index];
arr[min_index] = temp;
}
for (int j = 0; j < n; j++) {
printf("%d ", arr[j]);
}
printf("\n");
}
}
int main() {
int t;
scanf("%d", &t);
while (t--) {
int n;
scanf("%d", &n);
int arr[n];
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
selection_sort(arr, n);
printf("\n");
}
return 0;
}
```
输入格式中,首先输入一个整数t表示测试数据组数,然后对于每组数据,先输入一个整数n表示数据个数,再输入n个整数表示数据序列。
输出格式中,对于每组测试数据,输出每趟排序后的结果,不同组测试数据间用空行分隔。
在selection_sort函数中,对于每个位置i,从i+1到n-1中找到最小值所在的位置min_index,然后将arr[i]和arr[min_index]交换。在排序过程中,输出每一趟排序结果。
阅读全文