c語言數(shù)組怎么用 c語言,如何讓幾個(gè)數(shù)組合并為一個(gè)數(shù)組?
c語言,如何讓幾個(gè)數(shù)組合并為一個(gè)數(shù)組?intmain(){chara[]=“123456”charb[]=“abcde”intbuflen=strlen(a)strlen(b)char*p=(char
c語言,如何讓幾個(gè)數(shù)組合并為一個(gè)數(shù)組?
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的數(shù)組創(chuàng)建后不能更改,因此數(shù)組合并的思想是將數(shù)組放入足夠大的空間空間來形成一個(gè)新的數(shù)組。上面的函數(shù)是一個(gè)比較簡單的合并方法
代碼示例:
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是一個(gè)數(shù)組HA
int k=0
printf(“數(shù)組是:”)
//您已經(jīng)有了一個(gè)和B,所以您不需要再輸入它們了
//對于(I=0I<6i)
//結(jié)果,scanf(%d”,&;a)
//和(I=0I<6i)]//scanf(%d”,&;B)]//printf(“”,&;a)]//將二維數(shù)組放入一維數(shù)組,二維數(shù)組有兩個(gè)循環(huán)對于(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語言合并兩個(gè)數(shù)組?
]1)比較a和B數(shù)組中的第一個(gè)元素,將小元素放入C數(shù)組;
2)將小元素所在數(shù)組的下一個(gè)元素與上次比較后另一個(gè)數(shù)組的大元素進(jìn)行比較,重復(fù)上述比較過程,直到一個(gè)數(shù)組排在第一位;
3)將另一個(gè)數(shù)組的其余元素復(fù)制到C數(shù)組中,并對其進(jìn)行合并和排序。
#include
void main()
{
int
a[10],b[10],c[20],i,ia,ib,ic
printf(“請輸入第一個(gè)數(shù)組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表示兩個(gè)數(shù)組。C是一個(gè)新的數(shù)組,具有足夠的長度//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]}