c语言之奇偶数分开排序

描述

将一整数数列按奇数在前,偶数在后的顺序重新排放,并要求奇偶两部份分别按照从小到大有序。

输入

第1行一个正整数n,n不超过100。

第2行包括n个正整数,整数间用空格隔开。

输出

输出排序后的结果,整数间用1个空格隔开,行首行末均无空格。

输入样例 1 

10
4 7 2 1 0 3 6 9 5 8

输出样例 1

1 3 5 7 9 0 2 4 6 8

#include
int main(int argc,char const *argv[])
{

    int n,i,a[100],b[100],c[100],j=0,z=0,k,m=0,l=0,h=0;

    scanf("%d",&n);
    for(i=0;i     {
        scanf("%d",&a[i]);

    }
    for(i=0;i     {
        if(a[i]%2==0)
        {b[m]=a[i];
        m++;
        }
        else
        {
           c[z] = a[i];
           z++;
        }


    }

    for(i=z-1;i>=0;i--)
    {
        int t,max=0;
        for(j=0;j<=i;j++)
        {if(max<=c[j])
        {max=c[j];
            k=j;}


        }
    t=c[i],c[i]=max,c[k]=t;}

    for(i=0;i     { if(i!=0)
       printf(" ");
        printf("%d",c[i]),l++;
    }

      for(i=m-1;i>=0;i--)
    {
        int t,max=0;
        for(j=0;j<=i;j++)
        {if(max<=b[j])
        {max=b[j];
            k=j;}


        }
    t=b[i],b[i]=max,b[k]=t;}

    for(i=0;i     {   if(l!=0||h!=0)
       printf(" ");
        printf("%d",b[i]),h++;
    }
}
 

你可能感兴趣的:(c语言,笔记,c语言,开发语言,后端)