问题标题: 酷町堂:1476

0
0
已解决
李明阳
李明阳
初级光能
初级光能

题目描述 Description

对于给定10个整数,要求对其重新进行排序。排序后偶数在前按从大到小顺序,奇数在后按从小到大排序。

输入描述 Input Description

输入为一行,包含10个整数,输入整数的范围0~100000。

输出描述 Output Description

输出为一行,为按要求排好序的10个整数。

样例输入 Sample Input


 

2 7 3 8 4 5 1 6 18 27

样例输出 Sample Output


 

18 8 6 4 2 1 3 5 7 27

李明阳在2020-02-28 14:28:05追加了内容

#include<iostream>
using namespace std;
int a[100010];
int main(){
    int n;
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
     for(int i=1;i<=9;i++)
    {
        for(int j=i+1;j<=10;j++)
        if(a[i]>a[j])
        swap(a[i],a[j]);
    }
    for(int i=10;i>=1;i--)
        if(a[i]%2==0)
            cout<<a[i]<<" ";
    for(int i=1;i<=10;i++)
        if(a[i]%2==1)
            cout<<a[i]<<" ";
    return 0;
}


0
已采纳
张岳恒
张岳恒
资深光能
资深光能

这题不用那么麻烦,桶排一下;

输出分两次,一次由200010到>=0,i-=2;

另一次由1到<=200010,i+=2;

里面输出i并空格

不过没学过桶排也可以试用sort

0
徐紫尘
徐紫尘
高级光能
高级光能

 快排+判断奇偶+输出。

我要回答