利用选择法对n个数(100以内正整数)进行排序。选择法排序的过程是:将第1个元素作为最小元素,与后面n-1个元素比较找出最小元素,记录其下标,与第1个元素互换;然后,将第2个元素作为最小元素,与后面n-2个元素比较找出最小元素,记录其下标,与第2个元素互换;依次类推,直到第n-1个元素完成同样过程为止。要求:
1)输入n;
2)输入n个整数;
3)用选择法排序;
4)打印排序后结果,每个元素输出格式为“%4d”。
提示:数组长度定义为100,根据输入的n值使用前面的n个元素。
运行参考示例:
输入1:
5
8 2 6 20 12
输出1:
2 6 8 12 20
#include<stdio.h>
int main()
{
int i,n,j,k,t;
int a[100];
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
printf("\n");
for(i=0;i<(n-1);i++)
{
k=i;
for(j=i+1;j<n;j++)
{
if(a[j]<a[k])
{
k=j;
}
}
if(i!=k)
{
t=a[i];a[i]=a[k];a[k]=t;//两个数交换
}
for(i=0;i<n;i++)
{
printf("%4d",a[i]);
}
printf("\n");
return 0;
}