c语言将两个数组合并
时间: 2024-11-03 13:20:34 浏览: 18
在C语言中,合并两个数组通常需要创建一个新的数组,并将这两个数组的元素逐个添加到新数组中。这里是一个简单的示例,假设我们有两个一维整数数组a和b,想要合并成新的数组c:
```c
#include <stdio.h>
#define SIZE_A 5 // a数组的大小
#define SIZE_B 3 // b数组的大小
void merge_arrays(int a[], int b[], int ca, int cb, int c[]) {
int i = 0, j = 0, k = 0; // ca, cb分别是a和b的当前下标,k是新数组c的下标
while (i < ca && j < cb) {
// 如果a[i]小于b[j],将a[i]放入c[k]
if (a[i] <= b[j]) {
c[k++] = a[i++];
}
// 否则,将b[j]放入c[k]
else {
c[k++] = b[j++];
}
}
// 将剩余的a或b数组元素添加到新数组c
while (i < ca) {
c[k++] = a[i++];
}
while (j < cb) {
c[k++] = b[j++];
}
}
int main() {
int a[SIZE_A] = {1, 3, 5, 7, 9};
int b[SIZE_B] = {2, 4, 6};
int c[SIZE_A + SIZE_B]; // 新数组足够大以存放所有元素
merge_arrays(a, b, SIZE_A, SIZE_B, c);
for (int i = 0; i < SIZE_A + SIZE_B; i++) {
printf("%d ", c[i]); // 打印合并后的数组c
}
return 0;
}
```
阅读全文