1 条题解
-
0
#include<bits/stdc++.h> using namespace std; // [5] 自定义排序比较函数,供sort函数调用,实现降序排序逻辑 bool cmp(int x , int y) { return x > y; // 前值大于后值时返回true,实现从大到小的降序排列 } // [1] 程序主入口,核心排序逻辑的执行主体 int main() { // [2] 定义vector容器:odd存储奇数序列,even存储偶数序列,实现奇偶分组 vector<int> odd; vector<int> even; // [3] 循环读取10个输入整数,按奇偶性分别存入对应容器 for(int i = 1 ; i <= 10 ; i++) { int num; // 临时存储当前读取的输入整数 cin >> num; if(num & 1) // 位运算判断是否为奇数(等价于num%2==1,执行效率更高) odd.push_back( num ); // 奇数存入odd容器 else even.push_back( num ); // 偶数存入even容器 } // [4] 对奇数序列执行排序,调用自定义cmp函数实现从大到小的降序要求 sort( odd.begin() , odd.end() , cmp ); // [6] 遍历输出排序后的奇数序列,满足奇数在前的排序规则 for(int i = 0 ; i < odd.size() ; i++) cout << odd[i] << " "; // [7] 逆序遍历偶数容器,实现偶数按输入顺序逆序输出的要求 for(int i = even.size() - 1 ; i >= 0 ; i--) cout << even[i] << " "; return 0; }
- 1
信息
- ID
- 1163
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 2
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者