题解 | #整数奇偶排序#
整数奇偶排序
https://www.nowcoder.com/practice/bbbbf26601b6402c9abfa88de5833163
#include <iostream> #include <cstdio> #include <algorithm> using namespace std; //更简洁的做法不需要奇偶数组:先对10个数排序,然后分别从前往后和从后往前判断奇偶数输出 bool cmpji (int x,int y) { return x>y; } int main() { int a[10]; while (cin >> a[0] >> a[1]>>a[2]>>a[3]>>a[4]>>a[5]>>a[6]>>a[7]>>a[8]>>a[9]) { int ji[10],ou[10]; int j=0,k=0; for(int i=0;i<10;i++) { if(a[i]%2==0) { ou[j]=a[i];j++; } else{ ji[k]=a[i];k++; } } sort(ji,ji+k,cmpji);//奇数组一共有k个元素 sort(ou,ou+j); for(int i=0;i<k;i++) { cout<<ji[i]<<" "; } for(int i=0;i<j;i++) { cout<<ou[i]<<" "; } cout<<endl; } } // 64 位输出请用 printf("%lld")