先来看看这一个的测试题急

输入正整教n(n<=100),然后输入口个正整数。柠这n个正整数中的奇数放在前面,升序排列。偶数放在居面,降序排列。
例如输入
10
16 60 63 68 11 61 84 54 44 26
输出
11 61 63 84 68 60 54 44 26 16
注意:每个数据之间-
一个空格分隔,最后有一个空格


#include <stdio.h>
void main()
{
    int i, j, m = 9, n = 0, k, a[10], t, s;
    for (i = 0; i < 10; i++)
    {
        scanf("%d", &k);
        if (k % 2)
            a[n++] = k;
        else
            a[m--] = k;
    }
    for (i = 0; i < n; i++)
    {
        t = i;
        for (j = i + 1; j < n; j++)
            if (a[t] > a[j])
                t = j;
        if (t != i)
        {
            s = a[t];
            a[t] = a[i];
            a[i] = s;
        }
    }
    for (i = n; i < 9; i++)
    {
        t = i;
        for (j = i + 1; j < 10; j++)
            if (a[t] < a[j])
                t = j;
        if (t != i)
        {
            s = a[t];
            a[t] = a[i];
            a[i] = s;
        }
    }
    for (i = 0; i < 10; i++)
        printf("%d ", a[i]);
}

 
#include <stdio.h>
int main(){
    int n=0,num;
    int even_id=0,odd_id=0;
    int even[100],odd[100];
    scanf("%d",&n);
    for(int i=0;i<n;++i)
    {
        scanf("%d",&num);
        if(num%2==0)
            even[even_id++]=num;
        else
            odd[odd_id++]=num;
    }
    for(int i=0;i<even_id-1;++i)
        for(int j=i+1;j<even_id;++j)
        {
            int temp=0;
            if(even[i]<even[j])
            {
                temp=even[i];
                even[i]=even[j];
                even[j]=temp;
            }
        }
    for(int i=0;i<odd_id-1;++i)
        for(int j=i+1;j<odd_id;++j)
        {
            int temp=0;
            if(odd[i]>odd[j])
            {
                temp=odd[i];
                odd[i]=odd[j];
                odd[j]=temp;
            }
        }
    for(int i=0;i<odd_id;++i)
        printf("%d ",odd[i]);
    for(int i=0;i<even_id;++i)
        printf("%d ",even[i]);
}