题目描述
输入10个整数,彼此以空格分隔。重新排序以后输出(也按空格分隔),要求: 1.先输出其中的奇数,并按从大到小排列; 2.然后输出其中的偶数,并按从小到大排列。
输入描述:
任意排序的10个整数(0~100),彼此以空格分隔。
思路,运用冒泡排序与选择排序共同思维,升华冒泡排序在于边奇数偶数判断,边大小排序
#include<stdio.h>
int main()
{
int i,j,k,t,odd=-1, even=10,a[10];
for(i=0;i<=9;i++)
{
scanf("%d",&a[i]);
if(a[i]%2!=0)
odd++;
else
even--;
}
for(i=0;i<=odd;i++)
for(j=9;j>=even;j--)
{
if(a[i]%2==0&&a[j]!=0)
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
for(i=0;i<odd;i++)
for(j=i+1;j<=odd;j++)
if(a[i]>a[j])
{
t=a[i];
a[i]=a[j];
a[j]