#include voidsort(array,n) intarray[]; intn; { inti,j,k,t; for(i=0;i)/* 循环9次,这里循环9次因为排列到第9次的时候最大的已经自动被排列到最后了 */ { k=i;[/LIGHT] /* 把i记录下来,以便进行调换操作 */ for(j=i+1;)j/* 在外部i循环内进行第二次循环,检查所有的剩余元素 */ { if(array[j])/* 利用k对比j循环的元素大小是否比外部i循环当前元素的值 */ { k=j; /* 将k的值定义为j循环的最小元素的(下标),以便进行调换操作 */ } t=array[k]; /* 将t的值定义为j循环的最小值元素的值 */ array[k]=array[i]; /* 把j循环内的(也就是array[j])的值,调换为此次外部i循环元素的值 */ array[i]=t; /* 将外部i循环的当前元素的值替换为前面以t为临时存储的(也就是array[j])的值 */ } } } main() { inta[10],i; /* 定义a[10]为一个数组,用于输入10个不同的数字;定义用于循环的便量i; */ printf("enter the array "); for(i=0;i<10;i++) { scanf("%d",&a[i]); /* 利用这10次循环给每个数组元素尽心赋值操作从a[0]到a[9] */ } sort(a,10);/* 把数组a的各数组元素地址和数组数量传递给自定义排序涵数的形式参数 */ printf("the sorted array: "); for(i=0;i<10;i++) { printf("%d",a[i]); /*利用10次循环把排序后的数组元素打印在屏幕上*/ } printf(" "); } |