A. 实验7_5_奇偶排序

题目描述
已知n个整数,将n个整数的奇数放在前,偶数放在后,奇数部分与偶数部分都按升序排列输出。
输入与输出要求:首先输入一个整数n,代表输入整数个数,n不会超过200。然后是n个待排序的整数,每个整数的取值范围是0-1000。输出排序后的n个数,其中奇数在前偶数在后,数与数之间用空格分开,注意第n个数后没有空格而是换行符。
程序运行效果:
Sample 1:
10↙
10 9 8 7 6 5 4 3 2 1↙
1 3 5 7 9 2 4 6 8 10

#include <stdio.h>
void bubbleSortDown1(int a[],int size)
{
	int loc,i,temp;

	/*总共需要比较size-1趟。每一趟确定a[loc]的值*/
	for(loc = size-1;loc >= 1;loc--){
	   /*从下标为0~loc数组元素中依次进行比较交换*/
	    for(i = 0;i <= loc-1;i++)
		 if(a[i] > a[i+1]){ /*相邻两个元素交换*/
		     temp = a[i];
		     a[i] = a[i+1];
		     a[i+1] = temp;
		 }
	}
}
int main(void)
{
	int i,n;
	scanf("%d",&n);
	int a[200];
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	bubbleSortDown1(a,n);
	for(i=0;i<n;i++)
	{
		if(a[i]%2!=0)
		printf("%d ",a[i]);
	}
	for(i=0;i<n;i++)
	{
		if(a[i]%2==0)
		printf("%d ",a[i]);
	}
	return 0;
}

亲测可过

猜你喜欢

转载自blog.csdn.net/qq_42673145/article/details/85031411