#include <
stdio.h>
#include <
stdlib.h>
//an为数组a的长度,bn为数组b的长度
void fun(int *a, int *b, int an, int bn);
int main()
{
int a[10] = {11, 21, 31, 41, 51, 61, 71, 81, 91, 110};
int b[5] = {1, 7, 88, 89, 342};
fun(a, b, 10, 5);
return 0;
}
void fun(int *a, int *b, int an, int bn)
{
int *c = (int *)malloc(sizeof(int) * (an + bn));
int i = 0, j = 0, z = 0;
while (z != (an + bn))
{
if (i < an && j < bn)
{
if (a[i] < b[j])
c[z++] = a[i++];
else
c[z++] = b[j++];
}
else
{
if (i == an && j < bn)
c[z++] = b[j++];
if (j == bn && i < an)
c[z++] = a[i++];
}
}
for (i = 0; i < z; i++)
printf("%d,", c[i]);
}
本回答被网友采纳