C++:题目描述可多同学手里有 n 张卡片每张卡片上写了一个自然数他想把这些卡片里的奇数放前面偶数放后面并且奇数部分和偶数部分都从小到大排序请你写个程序帮帮他吧。输入描述输入有两行第一行是一个整数 n 0 n 100为卡片总数;第二行有 n 个整数分别为每张卡片上的数字输出描述输出 n 个整数用1个空格隔开样例1输入520 4 2 3 1输出1 3 2 4 20
#include
int main() { int n; cin >> n;
vector<int> nums(n);
for (int i = 0; i < n; i++) {
cin >> nums[i];
}
vector<int> odd_nums;
vector<int> even_nums;
for (int i = 0; i < n; i++) {
if (nums[i] % 2 == 0) {
even_nums.push_back(nums[i]);
} else {
odd_nums.push_back(nums[i]);
}
}
sort(odd_nums.begin(), odd_nums.end());
sort(even_nums.begin(), even_nums.end());
for (int i = 0; i < odd_nums.size(); i++) {
cout << odd_nums[i] << " ";
}
for (int i = 0; i < even_nums.size(); i++) {
cout << even_nums[i] << " ";
}
return 0;
原文地址: https://www.cveoy.top/t/topic/h0dx 著作权归作者所有。请勿转载和采集!