酷代码 AI
菜单
服务商

C++ 实现输入正整数中奇数从大到小输出

以下是实现该功能的 C++ 代码: ```cpp #include <iostream> #include <vector> #include <algorithm> int main() { int n; std::cin >> n; std::vector<int> oddNumbers; for (int i = 0; i < n; ++i) { int num; std::cin >> num; if (num % 2 != 0) { oddNumbers.push_back(num); } } std::sort(oddNumbers.begin(), oddNumbers.end(), std::greater<int>()); for (int i = 0; i < oddNumbers.size(); ++i) { if (i > 0) { std::cout << " "; } std::cout << oddNumbers[i]; } std::cout << std::endl; return 0; } ``` ### 代码解释: 1. **输入读取**: - 首先读取一个正整数 `n`,代表接下来输入数字的数量。 - 利用 `for` 循环读取 `n` 个正整数,对于每个读取的整数,判断其是否为奇数(即对 2 取余不为 0),若是奇数则将其添加到 `oddNumbers` 向量中。 2. **排序**: - 使用 `std::sort` 函数对 `oddNumbers` 向量进行排序,`std::greater<int>()` 作为比较函数,可实现从大到小的排序。 3. **输出**: - 遍历排序后的 `oddNumbers` 向量,若不是第一个元素,先输出一个空格,再输出元素值,最后换行。 ######[AI问答 | 409点数解答 | 2026-05-16 16:27:31]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]