7-5 选择法排序 (只排三轮) (10 分)
作者:互联网
输入10个无序的整数,用选择法对10个整数按升序排序。注意:要求排序只排3轮。
输入格式:
在一行中输入10个用空格间隔的无序整数。
输出格式:
在一行中输出变化后的数组,每个整数输出占5列。
输入样例:
8 5 2 6 7 4 1 9 12 10
输出样例:
1 2 4 6 7 5 8 9 12 10
因为题目要求只排三轮,所以只需要for循环三次。
#include<stdio.h>
int main()
{
int i, index, k, temp;
int a[10];
for(i = 0;i<=10;i++)
{
scanf("%d", &a[i]); //将输入的数依次赋给数组a(从a[0]~a[9])
}
/*对这10个数进行排序*/
for(k = 0;k<3;k++) //排三次(循环三次)
{
index = k; //index存放最小值所在的下标
for(i = k+1;i<10;i++) //寻找最小值所在的下标
{
if(a[i]<a[index]) //如果小于所设置的最小值,则进行交换
{
index = i;
}
}
temp = a[index]; //最小元素与下标为K的元素进行交换
a[index] = a[k];
a[k] = temp;
}
for(i = 0;i<10;i++)
{
printf("%5d", a[i]); //输出排序后结果
}
return 0;
}
标签:10,输出,int,整数,只排,三轮,输入 来源: https://blog.csdn.net/qq_64682515/article/details/121672710