整数奇偶排序
输入 10个整数,彼此以空格分隔。
重新排序以后输出(也按空格分隔),要求:
先输出其中的奇数,并按从大到小排列;
然后输出其中的偶数,并按从小到大排列。
输入格式
任意排序的 10个整数,彼此以空格分隔。
输出格式
按照要求排序后输出,整数之间由空格分隔。
数据范围
输入整数取值范围 [0,100]。
输入样例:
4 7 3 13 11 12 0 47 34 98
输出样例:
47 13 11 7 3 0 4 12 34 98
简单题
一个静态两个动态数组 用sort函数直接解决问题
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
bool compare(int lhs,int rhs){
return lhs>=rhs;
}
int main(){
int a[11];
vector<int> vec1,vec2;
for(int i=0;i<10;++i){
cin>>a[i];
if(0!=a[i]%2){//奇数
vec1.push_back(a[i]);
}else{
vec2.push_back(a[i]);
}
}
//奇数降序
sort(vec1.begin(),vec1.end(),compare);
for(int i=0;i<vec1.size();++i)
printf("%d ",vec1[i]);
//偶数升序
sort(vec2.begin(),vec2.end());
for(int i=0;i<vec2.size();++i)
printf("%d ",vec2[i]);
}