思路分析
以第一个数作为标准,与数组中的全部数字比较,找出最小的那个,与第一个交换,这样第一个数就是最小的数。再以第二个数作为标准,从第二个数开始寻找最小的数,找到之后与第二个数交换,以此类推。
#include<stdio.h>
void Sort(int *a,int n)
{ int temp,min;
for(int i=0;i<4;i++)
{
min=i; //标记,假设最小元素的下标
for(int j=i+1;j<5;j++)
if(a[j]<a[min])
min=j; //找出最小的下标
if(i!=min) //若数组中有比刚开始假设的最小元素还小,用最小的下标对应数值与 开始标记的值进行交换
{
temp=a[i];
a[i]=a[min];
a[min]=temp;
}
}
}
int main()
{
int a[5]={5,9,6,8,4};
Sort(a,5);
for(int k=0;k<5;k++)
printf("%d ",a[k]);
return 0;
}