取巧的方法,利用循环直接打印 不需要额外创建一个数组
#include <stdio.h>
int main()
{
int n=0;int m=0; //确认数组的个数
scanf("%d%d",&n,&m);
int arr1[n];
int arr2[m];
int i=0;int j=0;
for(i=0;i<n;i++) //数组输入
{
scanf("%d",&arr1[i]);
}
for(i=0;i<m;i++) //数组输入
{
scanf("%d",&arr2[i]);
}
i=0;
while(i<n&&j<m) //判断条件
{
if(arr1[i]>arr2[j]) //把最小数的先输出打印,然后下标++
{
printf("%d ",arr2[j]);
j++;
}
else if(arr1[i]<=arr2[j]) 把最小数的先输出打印,然后下标++
{
printf("%d ",arr1[i]);
i++;
}
}
if(i==n) //循环结束 如果个数不相等的情况下继续打印剩下数组的每一位
{
for(;j<m;j++)
{
printf("%d ",arr2[j]);
}
}
else if(j==m)
{
for(;i<n;i++)
{
printf("%d ",arr1[i]);
}
}
return 0;
}