#include<stdio.h>
int main(){
int i,j,temp,a[6]={1,5,3,8,2,4};
for(i=0;i<5;i++){
for(j=i+1;j<6;j++){
if(a[i]>a[j]){
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
for(i=0;i<6;i++){
printf("%5d",a[i]);
}
printf("\n");
return 0;
}
改进:
#include<stdio.h>
int main(){
int i,j,temp,a[6]={1,5,3,8,2,4};
for(i=0;i<5;i++){
int min=i;
for(j=i+1;j<6;j++){
if(a[min]>a[j]){
min=j;
}
}
if(min!=i){ //不必每次都交换相对最小值,直接记录下最小值
temp=a[i];
a[i]=a[min];
a[min]=temp;
}
}
for(i=0;i<6;i++){
printf("%5d",a[i]);
}
printf("\n");
return 0;
}