将一正整数序列{K1,K2,...,K9}重新排列成一个新的序列。新序列中,比K1小的数都在K1的前面(左面),比K1大的数都在K1的后面(右面)。
#include <stdio.h> #include<string.h> void func(int a[],int n){ int temp,i,j; i=0; j=n-1; temp=a[0]; while(i<j){ while(j>i&&a[j]>=temp){ j--; } a[i]=a[j]; while(i<j&&a[i]<temp){ i++; } a[j]=a[i]; } a[i]=temp; } int main() { int n,k,i,j,temp; int a[100]; scanf("%d",&n); while(n>0){ for(i=0;i<9;i++){ scanf("%d",&a[i]); } func(a,9); for(i=0;i<9;i++){ printf("%d ",a[i]); } n--; printf("\n"); } return 0; }