将一正整数序列{K1,K2,...,K9}重新排列成一个新的序列。新序列中,比K1小的数都在K1的前面(左面),比K1大的数都在K1的后面(右面)。
标签:
将一正整数序列{K1,K2,...,K9}重新排列成一个新的序列。新序列中,比K1小的数都在K1的前面(左面),比K1大的数都在K1的后面(右面)。
输入有多行,第一行为N表示行数,每行9个整数.
输出N行,按要求进行排序的结果.
我用的方法很笨,还定义了好多变量。。。。。。。
1 #include <stdio.h> 2 int main() 3 { 4 int n; 5 scanf("%d",&n); 6 while(n--) 7 { 8 int i,b[10],a[10],c[10]; 9 for(i=0; i<9; i++) 10 { 11 scanf("%d",&a[i]); 12 } 13 int k=0,m=a[0]; 14 for(int j=1; j<9; j++) 15 { 16 if(a[j]<a[0]) 17 { 18 b[k++]=a[j]; 19 } 20 } 21 for(i=k-1; i>=0; i--) 22 { 23 printf("%d ",b[i]); 24 } 25 int v=0; 26 for(int i=0; i<9; i++) 27 { 28 if(a[i]>=m) 29 { 30 c[v++]=a[i]; 31 } 32 } 33 for(i=0; i<v-1; i++) 34 { 35 printf("%d ",c[i]); 36 } 37 printf("%d\n",c[v-1]); 38 } 39 }
标签:
原文地址:http://www.cnblogs.com/tianmin123/p/4739776.html