怎么用c语言将两个数组并起来?

2025-04-05 05:09:21
推荐回答(4个)
回答1:

看代码,写了几种数组的合并:

#include
#include
#include
void character()
{
char c1[]={'H','e','l','l','o'};
char c2[]={' ','w','o','r','l','d','!'};
int k=0;
char new_c[100];
for(int i=0;i new_c[k++]=c1[i];
for( i=0;i new_c[k++]=c2[i];
new_c[k]='\0';
puts(new_c);

}
void string()
{
char s1[]={"hello,"};
char s2[]={"c语言!"};
int k=0;
char new_s[100];
for(int i=0;i new_s[k++]=s1[i];
for(i=0;i new_s[k++]=s2[i];
new_s[k]='\0';
puts(new_s);
}
void number()
{
int num1[]={1,2,3},*p1=num1;
int num2[]={4,5,6,'\0'};//整型数组,字符数组是没有结束符号,自己加入‘\0’
int new_num[100];
int k=0;
for(int i=0;i {
new_num[k++]=*(p1++);
}
for(i=0;num2[i]!=0;i++)
{
new_num[k++]=num2[i];
}
new_num[k]='\0';
for(i=0;new_num[i]!=0;i++)
{
printf("%d ",new_num[i]);
}
puts("");

}
void main()
{
character();//字符数组的合并
string();//字符串的合并
number();//整型数组的合并,做法是一样的

}

运行截图:

回答2:

#include

int main()

{

int a[10],b[10],c[20],i,j,m,n,t;

scanf("%d",&m);

for(i=0;i

scanf("%d",&a[i]);

scanf("%d",&n);

for(i=0;i

scanf("%d",&b[i]);

for(i=0;i

c[i]=a[i];

for(i=m;i

c[i]=b[i-m];

for(i=0;i

for(j=0;j

{

if(c[j]

{

t=c[j];

c[j]=c[j+1];

c[j+1]=t;

}

}

for(i=0;i

printf("%d ",c[i]);

}


回答3:

就是用一个为l1+l2的数组,1-l1存a1,l1+1~l1+l2存a2.

回答4:

int main()
{
int a[10];
int b[10];
int c[20];
for(int i=0;i<10;i++)
c[i]=a[i];
for(int j=10;j<20;j++)
c[j]=a[j-10];
return 0;
}