题解 | #整数奇偶排序#
整数奇偶排序
https://www.nowcoder.com/practice/bbbbf26601b6402c9abfa88de5833163
#include <iostream> #include <algorithm> using namespace std; 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]) { // 注意 while 处理多个 case int iodd=0,ieven=0; //记录奇数、偶数的个数 int odd[10],even[10]; for(int i=0;i<=9;i++){ if(a[i]%2==0){ //偶数 even[ieven]=a[i]; ieven++; }else{ odd[iodd]=a[i]; iodd++; } } sort(odd,odd+iodd,greater <int> ()); //奇数排序 sort(even,even+ieven); //偶数排序 for(int i=0;i<iodd;i++){ //输出奇数 cout<<odd[i]<<" "; } for(int j=0;j<ieven;j++){ //输出偶数 cout<<even[j]<<" "; } } } // 64 位输出请用 printf("%lld")