用C语言将数组a:1,7,9,11,13,15,17,19,数组b:2,4,6,8,10两个数组合并为c数组,按升序列,且输出。
时间: 2024-12-06 19:25:09 浏览: 50
在C语言中,我们可以使用嵌套循环或者更高效的算法(如归并排序)来合并两个已排序的数组。这里,由于两个数组都是升序的,所以可以使用简单的一层循环来合并它们。以下是合并过程的一个例子:
```c
#include <stdio.h>
#define SIZE_A 5
#define SIZE_B 5
#define SIZE_C SIZE_A + SIZE_B
int c[SIZE_C]; // 定义一个新的足够大的数组c来存放结果
void mergeArrays(int a[], int b[], int sizeA, int sizeB, int c[]) {
int i = 0, j = 0, k = 0;
while (i < sizeA && j < sizeB) {
if (a[i] <= b[j]) {
c[k++] = a[i++];
} else {
c[k++] = b[j++];
}
}
// 把剩余数组的元素添加到c数组
while (i < sizeA) {
c[k++] = a[i++];
}
while (j < sizeB) {
c[k++] = b[j++];
}
}
int main() {
int a[] = {1, 7, 9, 11, 13};
int b[] = {2, 4, 6, 8, 10};
// 合并两个数组到c数组
mergeArrays(a, b, SIZE_A, SIZE_B, c);
// 输出合并后的数组c
for (int i = 0; i < SIZE_C; i++) {
printf("%d ", c[i]);
}
printf("\n");
return 0;
}
```
在这个程序中,`mergeArrays`函数合并了两个数组`a`和`b`的内容到数组`c`,同时保持了升序排列。
阅读全文
相关推荐



















