OpenJudge计算概论-奇偶排序

/*==============================================
总时间限制: 1000ms 内存限制: 65536kB
描述
输入十个整数,将十个整数按升序排列输出,并且奇数在前,偶数在后。
输入
输入十个整数
输出
按照奇偶排序好的十个整数
样例输入
10 9 8 7 6 5 4 3 2 1
样例输出
1 3 5 7 9 2 4 6 8 10
提示
先排序,再分别输出奇数、偶数
================================================*/

#include<stdio.h>
void BubbleSort(int a[],int n);//对数组a[]的前n个元素进行非递减排序 
int main()
{
    int a[10],i;
    for(i=0;i<10;i++)
    {
        scanf("%d",&a[i]);
    }
    BubbleSort(a,10);
    for(i=0;i<10;i++)
    {
        if(a[i]%2==1)//if(a[i]&1)
        {
            printf("%d ",a[i]);
        }
    }
    for(i=0;i<10;i++)
    {
        if(a[i]%2==0)//if(a[i]&1==0)
        {
            printf("%d ",a[i]);
        }
    }
    return 0;
}
void BubbleSort(int a[],int n)
{//对数组a[]的前n个元素进行非递减排序
    int i,j;
    int temp;
    for(i=0;i<n-1;i++)
    {
        for(j=0;j<n-1-i;j++)
        {
            if(a[j]>a[j+1])
            {
                temp=a[j];
                a[j]=a[j+1];
                a[j+1]=temp;
            }
        }
    }
} 

这个冒泡还有待优化的……

原文地址:https://www.cnblogs.com/huashanqingzhu/p/3436739.html