//输入的是一个数组,将其中的奇数按从大到小排序,然后将偶数从小到大排序
//例输入:7 4 1 8 5 2 9 6 3
//输出:9 7 5 3 1 2 4 6 8
#include <iostream>
using namespace std;
#define MAX 1000
int FunSort(int a[],int n)
{
int b[MAX]={0};//用以存放奇数
int c[MAX]={0};//用以存放偶数
int i;
int j=0;//存放奇数组的下标
int k=0;//存放偶数组的下标
int p,q;//用于排序
int temp;
for (i=0;i<n;i++)
{
if (0==a[i]%2)
{
c[k]=a[i];
k++;
}
else
b[j++]=a[i];
}
j--;
k--;
//对奇数组进行排序,从大到小
for (p=0;p<=j-1;p++)
{
for (q=p+1;q<=j;q++)
{
if (b[p]<b[q])
{
temp=b[p];
b[p]=b[q];
b[q]=temp;
}
}
}
//对偶数组进行排序,从小到大
for (p=0;p<=k-1;p++)
{
for (q=p+1;q<=k;q++)
{
if (c[p]>c[q])
{
temp=c[p];
c[p]=c[q];
c[q]=temp;
}
}
}
for (p=0;p<=j;p++)
cout<<b[p]<<" ";
for(p=0;p<=k;p++)
cout<<c[p]<<" ";
return 0;
}
int main()
{
int a[MAX];
int i=0;//输入数据的下标
char t=' ';
while (t!='\n')
{
cin>>a[i++];
t=cin.get();
}
FunSort(a,i--);
return 0;
};