如何在C语言中合并两个数组?

如何在C语言中合并两个数组?

将两个数组作为输入,尝试合并或连接两个数组并将结果存储在第三个数组中。

合并两个数组的逻辑如下所示 - p>

J=0,k=0
for(i=0;i<o;i++) {// merging two arrays
   if(a[j]<=b[k]){
      c[i]=a[j];
      j++;
   } else {
      c[i]=b[k];
      k++;
   }
}

程序

下面给出的程序展示了如何用 C 编程语言合并两个数组 -

#include<stdio.h>
#include<stdlib.h>
int main(){
   int a[10],b[10],c[20],m,n,o,i,j,k,temp;
   printf("Enter size of Array1

"); scanf("%d",&n); printf("Enter size of Array2

"); scanf("%d",&m); o=m+n; //size of third array printf("Enter Elements of Array1

"); for(i=0;i<n;i++){ scanf("%d",&a[i]); } printf("Enter Elements of Array2

"); for(i=0;i<m;i++){ scanf("%d",&b[i]); } //sorting first array for(i=0;i<n;i++){ for(j=0;j<n-1-i;j++){ if(a[j]>a[j+1]){ temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } } } //sorting second array for(i=0;i<m;i++){ for(j=0;j<m-1-i;j++){ if(b[j]>b[j+1]){ temp=b[j]; b[j]=b[j+1]; b[j+1]=temp; } } } printf("Elements of Array1

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

",i,a[i]); } printf("Elements of Array2

"); for(i=0;i<m;i++){ printf("b[%d]=%d

",i,b[i]); } j=0; k=0; for(i=0;i<o;i++){ // merging two arrays if(a[j]<=b[k]){ c[i]=a[j]; j++; } else{ c[i]=b[k]; k++; } } printf("Merged array is :

"); for(i=0;i<o;i++){ printf("c[%d]=%d

",i,c[i]); } }

输出

当上述程序被执行时,它产生以下结果 −

Enter Elements of Array1
1
2
3
4
Enter Elements of Array2
6
8
3
Elements of Array1
a[0]=1
a[1]=2
a[2]=3
a[3]=4
Elements of Array2
b[0]=3
b[1]=6
b[2]=8
Merged array is:
c[0]=1
c[1]=2
c[2]=3
c[3]=3
c[4]=4
c[5]=6
c[6]=8

以上就是如何在C语言中合并两个数组?的详细内容,更多请关注编程之家其它相关文章!

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...