#include"stdio.h"
void main()
{
int x[10]={4,2,7,8,9,10,11,24,5,6};//定义一个数组
int i,j,k,temp;
for(i=0;i<9;i++)//设置一双循环,i为第一层
{
k=i;//为交换而用的
for(j=i+1;j<10;j++)
if(x[i]>x[j])//将每个想x[i]与其后面的数作比较,如:i=0时,得比较9次,i=1,得比较8次。
k=j;
if(k!=i)//如果x[i]>x[j],就将想x[i]与x[j]交换,注意前面有k=i;所以才可以的。
{
temp=x[k];
x[k]=x[i];
x[i]=temp;
}
}
for(i=0;i<10;i++)
printf("%4d",x[i]);
printf("\n");
}
不用k也可以:
#include"stdio.h"//选择排序法
void main()
{
int x[10]={4,2,7,8,9,10,11,24,5,6};
int i,j,temp;
for(i=0;i<9;i++)
{
for(j=i+1;j<10;j++)
{
if(x[i]>x[j])
{
temp=x[j];
x[j]=x[i];
x[i]=temp;
}
}
}
for(i=0;i<10;i++)
printf("%4d",x[i]);
printf("\n");
}