#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;
}
觉得可以望采纳,也可以互相关注学习
首先有个问题,你是想全部塞进去不考虑重复呢,还是不允许重复。
塞入时,要先判断这两个数组哪个长,将短数组向长数组塞,这样效率要比反之高。
先确定第一个问题,我在回答。
思路就是 先塞进去,之后再排序,边塞边排序实际效率要低