酷代码 AI
菜单
服务商
DeepSeek字节豆包
更多选项

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

以下是使用 C++ 解决该问题的代码: ```cpp #include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { int n; // 读取正整数 n,表示数字的数量 cin >> n; vector<int> odd_numbers; for (int i = 0; i < n; i++) { int num; // 读取每个正整数 cin >> num; // 判断是否为奇数 if (num % 2 != 0) { // 若是奇数,将其添加到 odd_numbers 容器中 odd_numbers.push_back(num); } } // 对奇数向量进行从大到小的排序 sort(odd_numbers.begin(), odd_numbers.end(), greater<int>()); for (int i = 0; i < odd_numbers.size(); i++) { if (i > 0) { // 数字之间用空格隔开 cout << " "; } // 输出奇数 cout << odd_numbers[i]; } cout << endl; return 0; } ``` ### 代码解释 📋 1. **输入环节**:首先读取正整数 `n`,它代表后续数字的数量。接着循环 `n` 次,每次读取一个正整数,并判断其是否为奇数。若是奇数,就把它添加到 `odd_numbers` 向量里。 2. **排序操作**:使用 `sort` 函数配合 `greater<int>()` 对 `odd_numbers` 向量中的奇数进行从大到小的排序。 3. **输出处理**:遍历排序后的奇数向量,按照要求用空格分隔各奇数并输出。 ######[AI问答 | 427点数解答 | 2026-08-15 20:22:01]

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