怎样将两个数组里面的所有数据都按一定的顺序塞入一个数组呢

#include<stdio.h>
int main()
{
int a[5]={2,3,4,5,6};
int b[3]={1,3,5};
int c[3+5];
int i=0,j=0,k;
i<5;
j<3;
for(k=0;k<8;k++)
{
if(a[i]<=b[j])
{
c[k]=a[i];
i++;
}
else
{
c[k]=b[j];
j++;
}
printf("%d\n",c[k]);

}

return 0;

}

我这个代码应该怎么改才能把数组a中的6排入数组c中呢

不好意思,昨天有事儿

#include<stdio.h>
int main()
{
      int a[5]={2,3,4,5,6};
      int b[3]={1,3,5};
      int c[5];
      int i;
    
      for(i=0;i<3;i++){
            if(a[i]<=b[i]){
                  c[i]=a[i];
            }else{
                  c[i]=b[i];
            }
      }
      
      for(i=3;i<5;i++){    //sizeof判断的是数组所占的实际空间也就是字节数,所以除以每个元素类型的字节数,获得的才是数组的元素个数
            if(sizeof(a)/sizeof(int)>sizeof(b)/sizeof(int)){
                  c[i]=a[i];
            }else{
                  c[i]=b[i];
            }
      }
      for(i=0;i<sizeof(c)/sizeof(int);i++){
            printf("%d,%d\n",c[i],sizeof(c));
      }
      
      return 0;
}

觉得可以望采纳,也可以互相关注学习

  1. 首先有个问题,你是想全部塞进去不考虑重复呢,还是不允许重复。

  2. 塞入时,要先判断这两个数组哪个长,将短数组向长数组塞,这样效率要比反之高。

先确定第一个问题,我在回答。

思路就是 先塞进去,之后再排序,边塞边排序实际效率要低