c语言数组怎么用 c语言,如何让几个数组合并为一个数组?
c语言,如何让几个数组合并为一个数组?
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的数组创建后不能更改,因此数组合并的思想是将数组放入足够大的空间空间来形成一个新的数组。上面的函数是一个比较简单的合并方法
代码示例:
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(“数组是:”)
//您已经有了一个和B,所以您不需要再输入它们了
//对于(I=0I<6i)
//结果,scanf(%d”,&;a)
//和(I=0I<6i)]//scanf(%d”,&;B)]//printf(“”,&;a)]//将二维数组放入一维数组,二维数组有两个循环对于(I=0I<2i)
{[C[k
!{[C[C[[k
!][C[[C[C[k
![C[C[C[C[C[C[C[C[C[C[C]C[C[C][
for(I=0I<12i)
{
printf(%d”,C[I])的基本思想
if((I 1)%4==0)
printf(“n”)
]return 0
}
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
}
else{
c[ic]=b[ib
]ib
}
ic
}
while(ia
{
c[ic]=a[ia
]ia
ic
}
while(ib
{
c[ic]=b[ib
]ib
}
for(I=0I
{
]printf(“]”,c[I])}
}
void merge(int a[,int b[,int c[,int len1,int len2){//A、 B表示两个数组。C是一个新的数组,具有足够的长度//len1:len2 of a。类似地,int i=0,j=0,POS=0 for(i<=len1-1&&j<=len2-1 POS){if(a[i]<B[j])C[POS]=a[i]else C[POS]=B[j]}for(i<=len1-1 i)C[POS]=a[i]for(j<=len2-1 j)C[POS]=B[j]}
c语言数组怎么用 c语言合并两个数组并排序 C语言合并两个数组并去重
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。