【CSDN|每日一练】奇偶排序
【摘要】 @TOC 运行结果 题目描述一个数组里有奇数有偶数(乱序),调整数组顺序使奇数位于偶数前面。(测试用例仅做参考,我们会根据代码质量进行评分) 输入描述:第一行输入整数n。 第二行输入n个整数。 输出描述:输出排序后的n个整数。 示例 代码需要注意一点的是:保持之前的排序(原数组中奇数的排序是3 1 23 ,重排后也要保持这个顺序)代码:// 请关闭中文输入法,用英文的字母和标点符号。// 如...
@TOC
运行结果
题目描述
一个数组里有奇数有偶数(乱序),调整数组顺序使奇数位于偶数前面。(测试用例仅做参考,我们会根据代码质量进行评分)
输入描述:
第一行输入整数n。 第二行输入n个整数。
输出描述:
输出排序后的n个整数。
示例
代码
需要注意一点的是:保持之前的排序(原数组中奇数的排序是3 1 23 ,重排后也要保持这个顺序)
代码:
// 请关闭中文输入法,用英文的字母和标点符号。
// 如果你想运行系统测试用例,请点击【执行代码】按钮,如果你想提交作答结果,请点击【提交】按钮,
// 注意:除答案外,请不要打印其他任何多余的字符,以免影响结果验证
// 本OJ系统是基于 OxCoder 技术开发,网址:www.oxcoder.com
// 模版代码提供基本的输入输出框架,可按个人代码习惯修改
#include <iostream>
#include <string>
#include <sstream>
#include <vector>
using namespace std;
std::vector<int> solution(int n, std::vector<int>& vec){
std::vector<int> result;
// TODO:
for(int num : vec) {
if(num % 2 == 1) {
result.push_back(num);
}
}
for(int num : vec) {
if(num % 2 == 0) {
result.push_back(num);
}
}
return result;
}
int main() {
int n;
std::vector<int> vec;
std::cin>>n;
std::string line_0, token_0;
getline(std::cin >> std::ws,line_0);
std::stringstream tokens_0(line_0);
while(std::getline(tokens_0, token_0, ' ')){
vec.push_back(std::stoi(token_0));
}
std::vector<int> result = solution(n,vec);
for(auto it=result.begin();it!=result.end();++it){
std::cout<<*it<<" ";
}
std::cout<<std::endl;
return 0;
}
运行结果
一言难进,这道题的本意应该是只需要奇数在前面,偶数在后半部分,结果这题的测试数据必须要求还按之前的顺序(题目中也不说…)
结语
Hello!
非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~
ଘ(੭ˊᵕˋ)੭
昵称:海轰
标签:程序猿|C++选手|学生
简介:因C语言结识编程,随后转入计算机专业,获得过国家奖学金,有幸在竞赛中拿过一些国奖、省奖…已保研
学习经验:扎实基础 + 多做笔记 + 多敲代码 + 多思考 + 学好英语!
唯有努力💪
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)