巧妙运用sort,自定义需要的排序方式,省下很多事情
#include <iostream>
#include<string>
#include<algorithm> //有sort函数
#include<vector>
using namespace std;
bool cmp(int x,int y){
if(x%2==1&&y%2==1) return x>y; //如果两个都是奇数,按降序输出
if(x%2==0&&y%2==0) return x<y; //如果两个都是偶数,按升序输出
return x%2>y%2; //这句的意思是奇数在偶数前输出
}
int main()
{
int arr[10];
while(cin>>arr[0]){
for(int i=1;i<10;i++)
{
cin>>arr[i];
}
sort(arr,arr+10,cmp);
for(int i=0;i<10;i++)
{
cout<<arr[i]<<" ";
}
}
}