使10整数从最小到最大进行排序
#include <stdio.h>
#define N 10 //
main()
{
int i,j,k,t,a[N];
for(i=0;i<=N-1;i++)
scanf("%d",&a[i]);
for(i=0;i<N-1;i++)
{
k=i,t=0 ; //
for(j=i+1; j<N;j++) //
{
if(a[j]<a[k])
k=j;}
if(k!=i) //
{
t=a[i];
a[i]=a[k];
a[k]=t;
}
}
printf("output the sorted array:\n");
for(i=0;i<=N-1;i++)
printf("%5d",a[i]);
printf("\n");
}
比如说三个数的:213
因为a[j]<a[k] k=j;
if(k!=i)
{
t=a[i];
a[i]=a[k];
a[k]=t;
}
所以1<2,2与1位置互换
又因为3!<3
所以123