运行结果
注:运行结果略去输入数组部分
#include<stdio.h>
#include<malloc.h>
int main( void )
{
int i,j,k=0,t=0,temp,n;
int *p,*q,*r;
printf("请输入数组元素个数n=");
scanf("%d",&n);
p=(int *)malloc(sizeof(int)*n);
printf("请输入元素(以空格分隔)\n");
for(i=0;i<n;i++)
scanf("%d",&p[i]);
q=(int *)malloc(sizeof(int)*n);
r=(int *)malloc(sizeof(int)*n);
for(i=0;i<n;i++)
{
if(p[i]%2==0)
{
q[k]=p[i];
k++;
}
else
{
r[t]=p[i];
t++;
}
}
for(i=0;i<k-1;i++)
for(j=0;j<k-i-1;j++)
if(q[j]>q[j+1])
{
temp=q[j];
q[j]=q[j+1];
q[j+1]=temp;
}
for(i=0;i<t-1;i++)
for(j=0;j<t-i-1;j++)
if(r[j]>r[j+1])
{
temp=r[j];
r[j]=r[j+1];
r[j+1]=temp;
}
for(i=0;i<k;i++)
printf("%3d",q[i]);
for(i=0;i<t;i++)
printf("%3d",r[i]);
printf("\n");
return 0;
}
本回答被网友采纳