c语言把两个数组连接 c语言合并两个数组?
c语言合并两个数组?
代码示例:
int main(int argc,char*argv[
]{
int a[2][3]={1,2,3,4,5,6}
int b[2][3]={7,8,9,3,2,1}
int i,J
int c[12]//c是一个数组HA
]int k=0
printf(“数组是:”)
//您已经有了a和b,所以您不需要再输入它们了
//for(I=0I<6i)
//scanf(%d“,&A
//for(I=0I<6i)
//二维数组被放入一维数组,二维数组是一维数组,二维数组是双循环的
for(I=0I<2i)
for(int j=0j<3j)
!///将二维数组放入一维数组,二维数组是一维数组,二维数组是双循环的
对于(I=0I<2i
!][C[C[k
![C[C[C[k
!]printf(现在,数组是[now,数组是[now,数组是:数组是:这是数组是:这是数组是[现在],数组是:这是[现在,[I
]if((I)]1)%4==0)
printf(“n”)
}
return 0
}
intmain(){chara[]=“123456”charb[]=“abcde”intbuflen=strlen(a)strlen(b)char*p=(char*)malloc(buflen 1)memset(p,0,buflen)printf(%dn”,buflen)strcpy(p,a)strcat(p,b)printf(%sn”,p)free(p)}不能更改C的数组因此,数组合并的思想是将数组放入一个足够大的空间中,形成一个新的数组。上面的函数是一个比较简单的合并方法
基本思想:
1)取a、B数组的第一个元素进行比较,将小元素放入C数组;
2)将小元素所在数组的下一个元素与上一次比较后的另一个数组的大元素进行比较,重复上述操作上面的比较过程直到一个数组排在第一位;
3)将另一个数组的剩余元素复制到C数组中,并对它们进行合并和排序。
#include
void main()
{
int
a[10],b[10],c[20],i,ia,ib,ic
printf(“请输入第一个数组n”)
for(i=0i
scanf(“%d”,&a[i])
for(i=0i
scanf(“%d”,&b[i])
printf(“n”)
ia=0ib=0ic=0
而(ia
{
c[ic]=a[ia
]ia
}
否则{
c[ic]=b[ib
]ib
}
ic
}
而(ia
{
c[ic]=a[ia
]ia
ic
}
而(ib
{
c[ic]=b[ib
]ib
ic
}
而(i=0i
{
printf(“]”,c[i])}
}
c语言把两个数组连接 c语言合并两个数组并排序 c语言把两个一维数组合并
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。