c语言选择排序算法
#include<stdio.h>
int main(void){
int i,j,k,t;
int a[10]={22,1,5,8,33,45,16,4,10,10}; //初始化数组
printf("原来的序列:\n");
for(i=0;i<10;i++)
printf("%3d",a[i]);
printf("\n");
printf("排序后的序列:\n");
for(i=0;i<9;i++){
k=i; // k为标志,第几趟就默认第几个数是最大或者最小值的位置
for(j=i+1;j<10;j++)
if(a[k]>a[j])
k=j; //如果前一个大于后一个,则更新k标志
if(k!=i){ //如果k的值发生变化,则将原本i的位置的值和此刻k所在的位置的值交换
t=a[i];
a[i]=a[k];
a[k]=t;
}
}
for(i=0;i<10;i++)
printf("%3d",a[i]); //循环输出数组
printf("\n"); //输出完之后换行
return 0;
}