输入正整教n(n<=100),然后输入口个正整数。柠这n个正整数中的奇数放在前面,升序排列。偶数放在居面,降序排列。
例如输入
10
16 60 63 68 11 61 84 54 44 26
输出
11 61 63 84 68 60 54 44 26 16
注意:每个数据之间-
一个空格分隔,最后有一个空格
#include <stdio.h>
void main()
{
int i, j, m = 9, n = 0, k, a[10], t, s;
for (i = 0; i < 10; i++)
{
scanf("%d", &k);
if (k % 2)
a[n++] = k;
else
a[m--] = k;
}
for (i = 0; i < n; i++)
{
t = i;
for (j = i + 1; j < n; j++)
if (a[t] > a[j])
t = j;
if (t != i)
{
s = a[t];
a[t] = a[i];
a[i] = s;
}
}
for (i = n; i < 9; i++)
{
t = i;
for (j = i + 1; j < 10; j++)
if (a[t] < a[j])
t = j;
if (t != i)
{
s = a[t];
a[t] = a[i];
a[i] = s;
}
}
for (i = 0; i < 10; i++)
printf("%d ", a[i]);
}
#include <stdio.h>
int main(){
int n=0,num;
int even_id=0,odd_id=0;
int even[100],odd[100];
scanf("%d",&n);
for(int i=0;i<n;++i)
{
scanf("%d",&num);
if(num%2==0)
even[even_id++]=num;
else
odd[odd_id++]=num;
}
for(int i=0;i<even_id-1;++i)
for(int j=i+1;j<even_id;++j)
{
int temp=0;
if(even[i]<even[j])
{
temp=even[i];
even[i]=even[j];
even[j]=temp;
}
}
for(int i=0;i<odd_id-1;++i)
for(int j=i+1;j<odd_id;++j)
{
int temp=0;
if(odd[i]>odd[j])
{
temp=odd[i];
odd[i]=odd[j];
odd[j]=temp;
}
}
for(int i=0;i<odd_id;++i)
printf("%d ",odd[i]);
for(int i=0;i<even_id;++i)
printf("%d ",even[i]);
}