當前位置:首頁 » 編程語言 » c語言怎麼合成數組
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言怎麼合成數組

發布時間: 2023-04-29 15:46:00

『壹』 c語言怎麼合並兩個數組

int main() {
char a[] = "123456";
char b[] = "abcde";
int buflen = strlen(a) + strlen(b);
char *p = (char*)malloc(buflen + 1);
memset(p, 0, buflen);
printf("%d\n", buflen);
strcpy(p, a);
strcat(p, b);
printf("%s\n", p);
free(p);
}
C的數組在創建後不可變得,因此數組合並的思想就是把數組塞到一個足夠大的空間里形成新數組。
上面的函數是比較簡單的合並方法

『貳』 怎麼用c語言將兩個數組並起來

看代碼,寫了幾種數組的合並:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
voidcharacter()
{
charc1[]={'H','e','l','l','o'};
charc2[]={'','w','o','r','l','d','!'};
intk=0;
charnew_c[100];
for(inti=0;i<sizeof(c1);i++)//注意是sizeof()
new_c[k++]=c1[i];
for(i=0;i<sizeof(c2);i++)
new_c[k++]=c2[i];
new_c[k]='';
puts(new_c);

}
voidstring()
{
chars1[]={"hello,"};
chars2[]={"c語言!"};
intk=0;
charnew_s[100];
for(inti=0;i<strlen(s1);i++)//注意是strlen()
new_s[k++]=s1[i];
for(i=0;i<strlen(s2);i++)
new_s[k++]=s2[i];
new_s[k]='';
puts(new_s);
}
voidnumber()
{
intnum1[]={1,2,3},*p1=num1;
intnum2[]={4,5,6,''};//整型數組,字元數組是沒有結束符號,自己加入『』
intnew_num[100];
intk=0;
for(inti=0;i<sizeof(num1)/sizeof(int);i++)
{
new_num[k++]=*(p1++);
}
for(i=0;num2[i]!=0;i++)
{
new_num[k++]=num2[i];
}
new_num[k]='';
for(i=0;new_num[i]!=0;i++)
{
printf("%d",new_num[i]);
}
puts("");

}
voidmain()
{
character();//字元數組的合並
string();//字元串的合並
number();//整型數組的合並,做法是一樣的

}

運行截圖:

『叄』 C語言合並兩個數組

兩個錯誤,三個地方

#include<stdio.h>
#include<string.h>
void main(){
int a, b,f, g;char c[50], d[50], e[100];
gets(c);
for(a=0;c[a]!=''a++)//原來的是c[a]=!''
{
e[a]=c[a];
}
gets(d);
g=strlen(d);
if(g>5)
{
for(b=0;b<4;b++)//原來的b是1~5
{e[a+b]=d[b];}
}
else{
for(b=0;b<g;b++)//原來的b是1~g
{e[a+b]=d[b];}
}
for(f=0;f<a+b;f++)
printf("%c", e[f]);
}

『肆』 C語言如何把三個數組合成一個數組 如a[]={1,2,3}b[]={4,5,6}c[]={7,8,9} 結:d[]={1,2,3,4,5,6,7,8,9,}

設置一個字元串buffer,把三個數組分別循環一遍,放進buffer,用逗號隔開,然後再轉化成一個數組!

『伍』 請問如何使用C語言把兩個數組合並在一個數組里

代碼文本:

#include "stdio.h"

int input(int *p,int n){

char i,ch;

for(i=0;i<n;i++){

if((ch=getchar())==' ')

break;

else if(ch>='0' && ch<='9')

ungetc(ch,stdin);

scanf("%d",p+i);

}

return i;

}

int main(int argc,char *argv[]){

int a[21],b[10],i,j,k;

printf("Input array a... ");

i=input(a,10);

printf("and input array b... ");

j=input(b,10);

for(k=0;k<j;a[i++]=b[k++]);

for(j=0;j<i;printf("%d ",a[j++]));

putchar(' ');

return 0;

}

『陸』 同C語言合並兩個數組

合並數組的操作,具體演算法依賴於合並的規則。

其通用流程如下:

1 建立一個足夠容納兩個數組所有元素的目標數組。如果規則規定將一個數組合並到另一個之中,那麼需要保證目標數組有可以容納兩個數組的空間,否則會出現越界。

2 遍歷其中一個數組,並賦值到目標數組中。如果是一個數組合並到另一個,那麼此步可以省略;

3 遍歷另一個數組,按照規則插入到目標數組中。

在不同規則下,合並演算法會有差異,如將長為lb的B數組附加到長為la的A數組結尾的操作,可以寫作

inti;
for(i=0;i<lb;i++)
A[la+i]=B[i];

而將長度均為l的數組A,B,交替合並到C中,可以寫作

inti;
for(i=0;i<l;i++)
{
C[i*2]=A[i];
C[i*2+1]=B[i];
}

不管是何種方式,合並的本質就是,把A和B的每個元素,賦值到目標數組的對應位置上即可。

『柒』 用c語言寫代碼三個一維數組如何合並成一個二維數組

#include <stdio.h>


int main()

{

int a[10] = {1,2,6,7,5,1,3,2,8,2},b[10] = {1,6,3,4,7,1,3,8,1,5},c[10] = {6,2,3,4,5,7,8,2,1,2},d[10][3],i,j;

for(i=0;i<10;++i)

{

d[i][0]=a[i];

旦渣 d[i][1]=b[i];

d[i][2]=c[i];

}

for(i=0;i<10;++i)

{

for(j=0;j<3;++j)

{

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

}

printf(" ");

}

return 0;

}

請點擊輸入圖片描述慶遲族譽弊


『捌』 怎樣在C語言中實現兩個數組的合並

把兩個數組分別合到一個數組裡面啊.
那個數組的長度為 兩個數組的長度的和

『玖』 c語言 如何讓幾個數組合並為一個數組

用指針

例如:參考代碼
#include "stdio.h"
#include "stdlib.h"
void paixue1(int str1[])/*用冒泡法對輸入的數組1進行排序*/
{
int i,j,temp;
for(i=1;i<5;i++)
for(j=0;j<4;j++)
{
if(str1[j]>str1[j+1])
{
temp=str1[j];
str1[j]=str1[j+1];
str1[j+1]=temp;
}
}
}
void paixue2(int str2[])/*用冒泡法對輸入的數組2進行排序*/
{
int i,j,temp;
for(i=1;i<5;i++)
for(j=0;j<4;j++)
{
if(str2[j]>str2[j+1])
{
temp=str2[j];
str2[j]=str2[j+1];
str2[j+1]=temp;
}
}
}
void connect(int str1[],int str2[])/*對排好序的數組進行整合*/
{
int i,j,k;
int *str3;
str3=(int *) malloc(100);
i=0;
j=0;
k=0;
while(i<5&&j<5)/*將小的元素先放入數組*/
{
if(str1[i]>=str2[j])
{
str3[k++]=str2[j];
j++;/*那個放入數組了,那個加加*/
}
else if(str1[i]<=str2[j])
{
str3[k++]=str1[i];
i++;
}
}
if(i<5)/*有沒有被放入的元素,放入數組*/
{
for(;i<5;i++)
str3[k++]=str1[i];
}
else if(j<5)*有沒有被放入的元素,放入數組*/
{
for(;j<5;j++)
str3[k++]=str2[j];
}

for(i=0;i<10;i++)
printf("%d ",str3[i]);
printf(" ");
free(str3);

}
void main()
{
int *str1,*str2,length=0,i;
str1=(int *)malloc(100);
str2=(int *)malloc(100);
printf("please input the first number ");
for(i=0;i<5;i++)
scanf("%d",&str1[i]);
printf("please input the second number ");
for(i=0;i<5;i++)
scanf("%d",&str2[i]);
for(i=0;i<5;i++)
printf(" %d",str1[i]);
printf(" ");
for(i=0;i<5;i++)
printf(" %d",str2[i]);
printf(" ");
paixue1(str1);
paixue2(str2);
for(i=0;i<5;i++)
printf(" %d",str1[i]);
printf(" ");
for(i=0;i<5;i++)
printf(" %d",str2[i]);
printf(" ");
connect(str1,str2);
free(str1);
free(str2);
}

補充:C語言是一種計算機程序設計語言。它既具有高級語言的特點,又具有匯編語言的特點。它可以作為工作系統設計語言,編寫系統應用程序,也可以作為應用程序設計語言,編寫不依賴計算機硬體的應用程序。

『拾』 C語言編程 數組合並

#include<stdio.h>
int main()
{
int aLength;
scanf("%d",&aLength);
int a[aLength];
int i,j=0;
for(i=0;i<aLength;i++)
{
scanf("%d",a+i);
}
int bLength;
scanf("%d",&bLength);
int b[bLength];
for(i=0;i<bLength;i++)
{
scanf("%d",b+i);
}
int allLength=aLength+bLength;
int c[allLength];
for(i=0;i<aLength;i++)
{
c[i]=a[i];
}
for(i=aLength;i<allLength;i++)
{
c[i]=b[j];
j++;
}
for(i=0;i<allLength;i++)
{
printf("%d ",c[i]);
}
return 0;
}