c语言定义两个数组,将数组按从大到小顺序合并输出
时间: 2024-09-07 19:04:32 浏览: 46
c语言编程题之数组操作合并两个有序数组.zip
在C语言中,如果你想要合并并按从大到小顺序输出两个数组,你可以通过以下步骤实现:
首先,假设我们有两个整型数组 `array1` 和 `array2`,它们已经按照大小排列,并且你想把它们合并成一个新的数组 `combinedArray`。
```c
#include <stdio.h>
#define SIZE1 5 // array1 的长度
#define SIZE2 4 // array2 的长度
int array1[SIZE1] = {10, 20, 30, 40, 50}; // 假设已排序
int array2[SIZE2] = {60, 70, 80, 90}; // 假设已排序
// 合并数组
void mergeArrays(int* combined, int* a, int sizeA, int* b, int sizeB) {
int i = 0, j = 0, k = 0;
while (i < sizeA && j < sizeB) {
if (a[i] > b[j]) {
combined[k++] = a[i++];
} else {
combined[k++] = b[j++];
}
}
// 将剩余元素(如果有的话)追加到结果数组
while (i < sizeA) {
combined[k++] = a[i++];
}
while (j < sizeB) {
combined[k++] = b[j++];
}
}
int main() {
int combined[SIZE1 + SIZE2]; // 新建一个足够大的数组存储合并后的元素
// 调用函数合并数组
mergeArrays(combined, array1, SIZE1, array2, SIZE2);
// 输出合并后的数组
for (int i = 0; i < SIZE1 + SIZE2; ++i) {
printf("%d ", combined[i]);
}
printf("\n");
return 0;
}
```
在这个示例中,`mergeArrays` 函数会合并两个数组并将它们按降序排列。然后在 `main` 函数中,我们创建了一个新的数组 `combined` 存储结果,并打印出来。
阅读全文