为达到交换次数最少的目的,min记录的不是数组元素的值,而是数组元素的下标
#include <stdio.h>
#define N 10
void main()
{
int i,j,a[N],min,t,k;
for(i=0;i<N;i++)
scanf("%d",a+i);
for(j=0;j<N-1;j++)
{
min=j;
for(i=j+1;i<N;i++)
{
if(a[min]>a[i])
min=i;
}
t=a[min];a[min]=a[j];a[j]=t;
}
for(i=0;i<N;i++)
printf("%4d",a[i]);
}