解题思路:
代码非常简单
由于输入个数不确定,考虑使用动态分配的STL list 即 链表,两个链表,一个存奇数一个存偶数,分别排序再输出即可
注意事项:
list.sort()默认生序排列,需要再写一个bool cmp(Elem a, Elem b)函数做降序
参考代码:
#include<bits/stdc++.h> #define ll long long int using namespace std; template<typename Elem> bool cmp(Elem a, Elem b) { return a > b; } int main() { int num; list<int> list_odd; // 奇数链表 list<int> list_even; // 偶数链表 list<int>::iterator iter; // 迭代器 // 分开存放 while (cin >> num) { if (num % 2) list_odd.push_back(num); else list_even.push_back(num); } list_odd.sort(cmp<int>); // 奇数,降序 list_even.sort(); // 偶数,升序 // 输出 for (iter = list_odd.begin(); iter != list_odd.end(); ++iter) { cout << *iter << " "; } for (iter = list_even.begin(); iter != list_even.end(); ++iter) { cout << *iter << " "; } cout << endl; return 0; }
0.0分
21 人评分
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:599 |
C语言训练-谁家孩子跑最慢* (C语言代码)浏览:1508 |
C语言程序设计教程(第三版)课后习题8.3 (Java代码)浏览:1373 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:1121 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:597 |
【密码】 (C语言代码)浏览:333 |
C语言程序设计教程(第三版)课后习题1.5 (C++代码)浏览:1095 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:1245 |
C语言训练-求1+2!+3!+...+N!的和 (C语言代码)浏览:789 |
WU-图形输出 (C++代码)浏览:802 |