方法一:简单,大家就用这个吧!
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
int main()
{
int a[6]={6,5,4,3,2,1};
int n=6;
int i,j;
for(i=0;i<n-1;i++)//从第一个数到倒数第二个数
{
for(j=i+1;j<n;j++)//从i+1个数到最后一个数
{
if(a[i]>a[j])
{
int t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
for(i=0;i<n;i++)
{
printf("%d ",a[i]);
}
return 0;
}
方法二:较难理解
下面为我写的一点思路
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
int main()
{
int a[6]={6,1,2,4,3,5};
int n=6,minindex,i,j;
for(i=0;i<n-1;i++)//只用排n-1个数
{
//在n的数里面找最小下标minindex,然后将i位置和minindex 位置的数交换
//在n-1个数里面找最小下标minindex……
minindex=i;
for(j=i+1;j<n;j++)
if(a[minindex]>a[j])
minindex=j;
if(minindex!=i)
{
int t=a[i];
a[i]=a[minindex];
a[minindex]=t;
}
}
for(i=0;i<n;i++)
printf("%d ",a[i]);
return 0;
}