c語言把兩個數(shù)組連接 c語言合并兩個數(shù)組?
c語言合并兩個數(shù)組?代碼示例: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
c語言合并兩個數(shù)組?
代碼示例:
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是一個數(shù)組HA
]int k=0
printf(“數(shù)組是:”)
//您已經有了a和b,所以您不需要再輸入它們了
//for(I=0I<6i)
//scanf(%d“,&A
//for(I=0I<6i)
//二維數(shù)組被放入一維數(shù)組,二維數(shù)組是一維數(shù)組,二維數(shù)組是雙循環(huán)的
for(I=0I<2i)
for(int j=0j<3j)
!///將二維數(shù)組放入一維數(shù)組,二維數(shù)組是一維數(shù)組,二維數(shù)組是雙循環(huán)的
對于(I=0I<2i
!][C[C[k
![C[C[C[k
!]printf(現(xiàn)在,數(shù)組是[now,數(shù)組是[now,數(shù)組是:數(shù)組是:這是數(shù)組是:這是數(shù)組是[現(xiàn)在],數(shù)組是:這是[現(xiàn)在,[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的數(shù)組因此,數(shù)組合并的思想是將數(shù)組放入一個足夠大的空間中,形成一個新的數(shù)組。上面的函數(shù)是一個比較簡單的合并方法
基本思想:
1)取a、B數(shù)組的第一個元素進行比較,將小元素放入C數(shù)組;
2)將小元素所在數(shù)組的下一個元素與上一次比較后的另一個數(shù)組的大元素進行比較,重復上述操作上面的比較過程直到一個數(shù)組排在第一位;
3)將另一個數(shù)組的剩余元素復制到C數(shù)組中,并對它們進行合并和排序。
#include
void main()
{
int
a[10],b[10],c[20],i,ia,ib,ic
printf(“請輸入第一個數(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
}
否則{
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])}
}