如何在 C 语言中合并数组?
cserver side programmingprogramming更新于 2025/5/7 19:52:17
输入两个数组,尝试合并或连接两个数组,并将结果存储在第三个数组中。
合并两个数组的逻辑如下 −
J=0,k=0
for(i=0;i if(a[j]<=b[k]){ c[i]=a[j]; j++; } else { c[i]=b[k]; k++; } } 程序 下面的程序演示了如何在 C 语言中合并两个数组 − #include #include 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; //第三个数组的大小 printf("Enter Elements of Array1"); for(i=0;i scanf("%d",&a[i]); } printf("Enter Elements of Array2"); for(i=0;i scanf("%d",&b[i]); } //sorting first array for(i=0;i for(j=0;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 for(j=0;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 printf("a[%d]=%d",i,a[i]); } printf("Elements of Array2"); for(i=0;i printf("b[%d]=%d",i,b[i]); } j=0; k=0; for(i=0;i if(a[j]<=b[k]){ c[i]=a[j]; j++; } else{ c[i]=b[k]; k++; } } printf("Merged array is :"); for(i=0;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 语言中文件处理的基本知识 C 程序重新声明全局变量 递归冒泡排序的 C 程序 C 语言中 scanf() 和 gets() 之间的区别 C 语言中 while(1) 和 while(0) 的区别 分治递归的高级主定理 用 C 语言计算没有连续 1 的二进制字符串的数量 C 中结构成员数组的深度复制 C 程序演示可变长度数组的用法 C 程序用于找出小于给定值的 AND、OR 和 XOR 运算的最大值 打印 下一节 ❯❮ 上一节