输入十个整数,将十个整数按升序排列输出,并且奇数在前,偶数在后。Input输入十个整数Output按照奇偶排序好的十个整数Sample Input
10 9 8 7 6 5 4 3 2 1Sample Output
1 3 5 7 9 2 4 6 8 10Hint先排序,再分别输出奇数、偶数
#include <stdio.h>
#include <stdlib.h>
#define N 10
int a[N];
void swap(int *a,int *b)//该函数用于交换两个变量的值
{
int temp=*a;
*a=*b;
*b=temp;
}
void Bubble_Sort(int a[],int n)//冒泡排序核心代码
{
int i,j;
for(i=n-1;i>=0;--i)
{
int flag=0;
for(j=0;j<i;++j)
{
if(a[j]>a[j+1])
{
flag=1;
swap(&a[j],&a[j+1]);
}
}
if(flag==0)break;//没有交换,排序完成
}
}
int main(void)
{
int i;
/* 输入数据 */
for(i=0; i<N; i++)
scanf("%d", &a[i]);
/* 排序 */
Bubble_Sort(a, N);
/* 输出结果:先输出奇数,再输出偶数 */
for(i=0; i<N; i++)
if(a[i] % 2 == 1)
printf("%d ", a[i]);
for(i=0; i<N; i++)
if(a[i] % 2 == 0)
printf("%d ", a[i]);
printf("\n");
return 0;
}