交叉排序
Time Limit: 1000MS Memory limit: 32768K
题目描述
输入N个数,把所有奇数位置上的数从小到大排序,把偶数位置上的数从大到小排序。
输入
输入的第一行是一个正整数
N(2<=N<=100)。
第二行是 N 个用空格隔开的整数。
第二行是 N 个用空格隔开的整数。
输出
输出只有一行
N
个数,是按要求排序后的序列,用空格隔开。
示例输入
6 1 2 3 4 5 6
示例输出
1 6 3 4 5 2
提示
每个人对题的理解都不一样,我主要是奇数位和偶数位都分别进行了排序,然后输出。
#include
#include
int a[100];
int b[100];
int c[100];
int main()
{
int n;
int i, j, t;
int k = 0, m = 0;
scanf("%d",&n);
for(i = 0; i < n; i++)
{
scanf("%d",&a[i]);
}
for(i = 0; i
b[j+1])
{
t = b[j];
b[j] = b[j+1];
b[j+1] = t;
}
}
for(i = 0; i < k; i++)
for(j = 0; j < k-i-1; j++)
{
if(c[j] < c[j+1])
{
t = c[j];
c[j] = c[j+1];
c[j+1] = t;
}
}
for(i = 0, j = 0; i