A. 請問如何使用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;
}
B. 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. 怎樣在C語言中實現兩個數組的合並
把兩個數組分別合到一個數組裡面啊.
那個數組的長度為 兩個數組的長度的和
D. 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,用逗號隔開,然後再轉化成一個數組!
E. 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的數組在創建後不可變得,因此數組合並的思想就是把數組塞到一個足夠大的空間里形成新數組。
上面的函數是比較簡單的合並方法
F. 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;
}