利用选择法对n个数(100以内正整数)进行排序。选择法排序的过程是:将第1个元素作为最小元素,与后面n-1个元素比较找出最小元素,记录其下标,与第1个元素互换;然后,将第2个元素作为最小元素,与后面n-2个元素比较找出最小元素,记录其下标,与第2个元素互换;依次类推,直到第n-1个元素完成同样过程为止。要求:
#include<stdio.h>
int main()
{
int n,i,k,t=0,j;
int a[100];
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%4d",&a[i]) ;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++ )
{
if(a[k]>a[j])
k=j;
}
if(k!=i)
{ t=a[k] ;
a[k]=a[i];
a[i]=t;
}
}
for(i=0;i<n;i++)
printf("%4d",a[i]);
return 0;
}
//t=a[k] ;
a[k]=a[i];
a[i]=t;不能放进第三个for循环是因为要等for循环结束才能找 出最小 值的j 。