#include <iostream> #include <algorithm> using namespace std; bool cmp(int a,int b){ if(a%2==1&&b%2==1) return a>b;//奇数,递减排列 if(a%2==0&&b%2==0) return a<b;//偶数,递增排列 return a%2>b%2;//奇数在偶数前面 } int main() { int arr[10]; while (cin >>arr[0]) { for(int i=1;i<10;i++){ cin>>arr[i]; } sort(arr,arr+10);//方法一:基础 for(int i=9;i>=0;i--){ if(arr[i]%2==1) cout<<arr[i]<<" "; } for(int i=0;i<10;i++){ if(arr[i]%2==0) cout<<arr[i]<<" "; } // sort(arr,arr+10,cmp);//方法二:优化 // for(int i=0;i<10;i++){ // cout<<arr[i]<<" "; // } } return 0; }