swadmin 2022-02-02 16:31 采纳率: 90%
浏览 119
已结题

c++jzoj编程:5503: 采桔子排排队3思路及代码

题目描述
秋天到了,小朋友们去采桔子,他们想把采回来的桔子按重量排排队,已知他们采的桔子重量都是整数,都在1-100克之间,现在请你帮他们按照重量是奇数就从大到小、是偶数从小到大排队输出。
注意:每个桔子的重量都不一样。

输入
共两行。
第一行是桔子的数量n。(1≤n≤100)
第二行是n个正整数,各不相同,表示这些桔子的重量。

输出
共n行,每行一个整数,表示这些桔子重量如果是奇数就从大到小、如果是偶数就从小到大的顺序。
样例
输入 复制
5
49 50 47 48 51
输出 复制
51
49
47
48
50

  • 写回答

1条回答 默认 最新

  • _GX_ 2022-02-02 18:55
    关注
    #include <iostream>
    #include <vector>
    #include <algorithm>
    
    using namespace std;
    
    int main()
    {
        int n;
        cin >> n;
        vector<int> weights(n);
        for (int i = 0; i < n; i++)
            cin >> weights[i];
        sort(weights.begin(), weights.end(), [](auto w1, auto w2)
             {
                 if (w1 % 2 == 0)
                 {
                     if (w2 % 2 == 0)
                         return w1 < w2;
                     else
                         return false;
                 }
                 else
                 {
                     if (w2 % 2 == 0)
                         return true;
                     else
                         return w1 > w2;
                 }
             });
        for (auto w : weights)
            cout << w << '\n';
        return 0;
    }
    
    $ g++ -Wall main.cpp
    $ ./a.out
    5
    49 50 47 48 51
    51
    49
    47
    48
    50
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 2月11日
  • 已采纳回答 2月3日
  • 创建了问题 2月2日

悬赏问题

  • ¥30 Matlab打开默认名称带有/的光谱数据
  • ¥50 easyExcel模板 动态单元格合并列
  • ¥15 res.rows如何取值使用
  • ¥15 在odoo17开发环境中,怎么实现库存管理系统,或独立模块设计与AGV小车对接?开发方面应如何设计和开发?请详细解释MES或WMS在与AGV小车对接时需完成的设计和开发
  • ¥15 CSP算法实现EEG特征提取,哪一步错了?
  • ¥15 游戏盾如何溯源服务器真实ip?需要30个字。后面的字是凑数的
  • ¥15 vue3前端取消收藏的不会引用collectId
  • ¥15 delphi7 HMAC_SHA256方式加密
  • ¥15 关于#qt#的问题:我想实现qcustomplot完成坐标轴
  • ¥15 下列c语言代码为何输出了多余的空格