1.输入 n 及 n 个整数( n <20),然后按奇数升序、偶数降序排列输出。 N =6 n1=1 n2=90 n3=85 n4=2 n5=10 n6=18 odd =185 Even =9018102 用C++编写
时间: 2023-09-05 14:13:20 浏览: 141
用C++实现长整数的输入输出
以下是C++代码实现:
```cpp
#include <iostream>
#include <algorithm>
using namespace std;
bool cmp(int a, int b) {
if (a % 2 == 1 && b % 2 == 1) { // 奇数升序
return a < b;
} else if (a % 2 == 0 && b % 2 == 0) { // 偶数降序
return a > b;
} else if (a % 2 == 1 && b % 2 == 0) { // 奇数在前
return true;
} else { // 偶数在后
return false;
}
}
int main() {
int n;
cin >> n;
int arr[n];
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
sort(arr, arr + n, cmp);
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
return 0;
}
```
输入示例:
```
6
1 90 85 2 10 18
```
输出示例:
```
1 85 90 18 10 2
```
阅读全文