题解 | #整数奇偶排序#
整数奇偶排序
https://www.nowcoder.com/practice/bbbbf26601b6402c9abfa88de5833163
#include <cstdio> #include <algorithm> using namespace std; bool comp(int lsh,int rsh){ if(lsh>rsh){ return true; } else { return false; } } //输入10个整数,彼此以空格分割,重新排序后输出(也按空格分隔) //要求:1)首先输出其中的奇数,并且按照从大到小的顺序排列, //2)然后输出其中的偶数,并且按照从小到大的顺序排列 int main() { int arr[10]; for(int i=0;i<10;i++){ scanf("%d",&arr[i]); } int odd[10]; int even[10]; int j=0; int q=0; for(int i=0;i<10;i++){ if(arr[i]%2==0){ even[j]=arr[i]; j+=1; } else{ odd[q]=arr[i]; q+=1; } } sort(odd,odd+q,comp); sort(even,even+j); for(int i=0;i<q;i++){ printf("%d ",odd[i]); } for(int i=0;i<j;i++){ printf("%d ",even[i]); } return 0; }