c语言。已知2个升序数列用指针将其合并成一个升序数列。

来源:百度知道 编辑:UC知道 时间:2024/05/18 06:39:30
如135和467

#include <stdio.h>
#define A_NUM 3
#define B_NUM 3
#define C_NUM A_NUM+B_NUM

void display(int *p,int c[])
{
for(p=c; p-c< 6;)
printf("%d ",*p++);
printf("\n");
}

int *unite(int a[], int b[],int c[])
{
int *pa, *pb, *pc;
pa = a;
pb = b;
pc = c;
while(pa-a<A_NUM && pb-b<B_NUM)
{
if(*pa<*pb)
*pc++=*pa++;
else
*pc++=*pb++;
}
while(pa-a<A_NUM)
*pc++=*pa++;
while(pb-b<B_NUM)
*pc++=*pb++;

return pc;

}
main()
{
int a[A_NUM]={1,3,5};
int b[B_NUM]={4,6,7};
int c[C_NUM],*p;
p = unite(a,b,c);
display(p,c);
}