- Description
给定n个正整数,对其中的奇数按递增次序排序。
- Input
第一行是一个正整数:测试用例数目,最多为5。之后,每个测试用例包括两行:
l 第1行给出整数数目n,1≤n≤100000,每个整数范围为 [0,100000)
l 第2行给出n个整数
- Output
对于每个测试用例:
l 输出“Case #:”,#表示序号
l 输出奇数排序后的n个整数
注意:输出部分的结尾要求包含一个多余的空行。
- Sample Input
2
3
4 2 1
3
3 2 1
- Sample Output
Case 1:
4 2 1
Case 2:
1 2 3
#include<stdio.h>
#include<stdlib.h>
int cmp(const*a,const*b)
{
return *a-*b;
}
int main()
{
int *a,*b,i,j,m,n,c=0;
scanf("%d",&m);
for(i=1;i<=m;i++)
{
c=0;
scanf("%d",&n);
a=malloc(4*n);
b=malloc(4*n);
for(j=0;j<n;j++)
{
scanf("%d",a+j);
if(a[j]%2==1)
{
b[c]=a[j];
c++;
}
}
qsort(b,c,4,cmp);
c=0;
for(j=0;j<n;j++)
if(a[j]%2==1)
{
a[j]=b[c];
c++;
}
printf("Case %d:\n",i);
for(j=0;j<n-1;j++)
printf("%d ",a[j]);
printf("%d\n",a[j]);
}
return 0;
}
1767

被折叠的 条评论
为什么被折叠?



