/*
builder:畅柯
功能:
将一正整数序列{K1,K2,...,K9}重新排列成一个新的序列。新序列中,比K1小的数都在K1的前面(左面),比K1大的数都在K1的后面(右面)。
输入
输入有多行,第一行为N表示行数,每行9个整数.
输出
输出N行,按要求进行排序的结果.
样例输入
2
6 8 9 1 2 5 4 7 3
3 5 8 9 1 2 6 4 7
样例输出
3 4 5 2 1 6 8 9 7
2 1 3 5 8 9 6 4 7
日期:年月日
*/
#include<stdio.h>
#include<math.h>
int main(){
int a[100][100];
int i,n,j;
scanf("%d",&n);
for(i=0;i<n;i++){/*按照n每行录入9个数*/
for(j=0;j<9;j++){
scanf("%d",&a[i][j]);
}
}
int min;
int num1;
int b[100][100];
int t;
int index[100];
for(i=0;i<n;i++){
num1=a[i][0];
t=0;
for(j=8;j>0;j--){
if(a[i][j]<num1){
b[i][t]=a[i][j];/*将比第一个元素小的数存入二维数组b中*/
a[i][j]=EOF;
t++;
}
index[i]=t; /*将b第一个元素小的数字个数存入一个一维数组*/
}
}
// int k=0;
for(i=0;i<n;i++){
for(j=0;j<9;j++){
if(a[i][j]!=EOF){
b[i][index[i]]=a[i][j];/*index数组中的元素为二维数组行下标,下标逐步递增*/
index[i]++;
}
}
}
for(i=0;i<n;i++){/*打印排好序的数组*/
for(j=0;j<9;j++){
printf("%d ",b[i][j]);
} printf("\n");
}
}
0.0分
0 人评分
A+B for Input-Output Practice (III) (C语言代码)浏览:579 |
1118(求助_已解决)浏览:337 |
字符逆序 (C语言代码)浏览:634 |
良心推荐——>题解1049:C语言程序设计教程(第三版)课后习题11.1 (C语言描述——简单明了,时间复杂度低)浏览:1301 |
矩阵的对角线之和 (C语言代码)浏览:1370 |
上车人数 (C语言代码)浏览:725 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:573 |
买不到的数目 (C语言代码)浏览:3102 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:730 |
母牛的故事 (C语言代码)浏览:476 |