#include<algorithm>
#include<cstdio>
#include<iostream>
using namespace std;
bool com(int left,int right)
{
if(left%2!=0&&right%2==0)
{
return true;
}
else if(left%2!=0&&right%2!=0&&left>right)
{
return true;
}
else if(left%2==0&&right%2==0&&left<right)
{
return true;
}
else
return false;
}
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])
{
sort(a,a+10,com);
for(int i=0;i<10;i++)
{
printf("%d ",a[i]);
}
printf("\n");
}
}
提取中间的两个数进行比较,思考原子操作,true就是不交换继续向下执行,false就是交换位置
原来是这样


京公网安备 11010502036488号