请帮我写一个c语言程序,输入在第1行中给出N(1<N≤100),在第2行中给出N个待排序的整数,数字间以空格分隔,并保证数字没有重复的出现。 输出格式: 给出选择排序每一遍后的中间结果数列,数字间以空格分隔,但末尾不得有多余空格。
时间: 2023-12-26 10:55:21 浏览: 102
归并排序 输入所要排序的整数,进行排序,C语言
4星 · 用户满意度95%
好的,可以尝试以下代码实现选择排序:
```c
#include <stdio.h>
int main()
{
int n, i, j, min, temp;
scanf("%d", &n);
int arr[n];
for(i=0; i<n; i++)
scanf("%d", &arr[i]);
for(i=0; i<n-1; i++)
{
min = i;
for(j=i+1; j<n; j++)
{
if(arr[j] < arr[min])
min = j;
}
if(min != i)
{
temp = arr[min];
arr[min] = arr[i];
arr[i] = temp;
}
for(j=0; j<n; j++)
{
printf("%d", arr[j]);
if(j!=n-1)
printf(" ");
}
printf("\n");
}
return 0;
}
```
输入样例:
```
6
2 3 4 1 5 6
```
输出样例:
```
1 3 4 2 5 6
1 2 4 3 5 6
1 2 3 4 5 6
1 2 3 4 5 6
1 2 3 4 5 6
```
阅读全文