#include <stdio.h>

int main() { int n1, n2; // 分别为两个有序数组的元素数目 int arr1[100], arr2[100]; // 分别为两个有序数组 int i, j, k;

// 输入第一个有序数组
scanf("%d", &n1);
for (i = 0; i < n1; i++) {
    scanf("%d", &arr1[i]);
}

// 输入第二个有序数组
scanf("%d", &n2);
for (i = 0; i < n2; i++) {
    scanf("%d", &arr2[i]);
}

// 合并两个有序数组
int result[200]; // 合并后的有序数组,最多包含200个元素
i = 0; // 第一个有序数组的下标
j = 0; // 第二个有序数组的下标
k = 0; // 合并后的有序数组的下标
while (i < n1 && j < n2) {
    if (arr1[i] < arr2[j]) {
        result[k++] = arr1[i++];
    } else {
        result[k++] = arr2[j++];
    }
}
while (i < n1) {
    result[k++] = arr1[i++];
}
while (j < n2) {
    result[k++] = arr2[j++];
}

// 输出合并后的有序数组
for (i = 0; i < k; i++) {
    printf("%d ", result[i]);
}
printf("\n");

return 0;

原文地址: http://www.cveoy.top/t/topic/hoB1 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录