奇数单增序列-题解

描述

小陈同学要来挑战难题啦!!!
给定一个长度为N(不大于500)的正整数序列,请将其中的所有奇数取出,并按升序输出。

输入描述

第1行为 N;
第2行为 N 个正整数,其间用空格间隔。(均在int范围内)

输出描述

增序输出的奇数序列,数据之间以逗号间隔。
数据保证至少有一个奇数。

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <bits/stdc++.h>
using namespace std;

int main(){
int n;
cin >> n;
int tmp;
vector<int> v;
for(int i = 0;i<n;i++){
cin >> tmp;
if(tmp%2){
v.push_back(tmp);
}
}
for (int i = 0; i < v.size(); i++){
int tmp = i;
for (int j = i; j < v.size(); j++){
if (v[j] < v[tmp]){
tmp = j;
}
}
swap(v[i], v[tmp]);
}
for(int i = 0;i<v.size()-1;i++){
cout << v[i] << ",";
}
cout << v[v.size()-1];
return 0;
}

奇数单增序列-题解
https://chenxi-tijie.pages.dev/2025/07/奇数单增序列-题解/
作者
chenxi
发布于
2025年7月3日
许可协议