Xx.432 2023-12-15 20:30 采纳率: 0%
浏览 4

C语言数组合并相关问题

C语言中,如何将一个一维数组和另一个一维数组合并在一个数组中?

  • 写回答

1条回答 默认 最新

  • 游戏开发小Y 新星创作者: 游戏开发技术领域 2023-12-15 20:31
    关注

    在C语言中,你可以通过将两个数组的元素复制到一个新的数组中来合并两个数组。以下是一个简单的示例:

    #include <stdio.h>
    
    int main() {
        int arr1[] = {1, 2, 3, 4, 5};  // 第一个数组
        int arr2[] = {6, 7, 8, 9, 10}; // 第二个数组
        int arr3[10];  // 用于存储合并后的数组
    
        int len1 = sizeof(arr1) / sizeof(arr1[0]);  // 第一个数组的长度
        int len2 = sizeof(arr2) / sizeof(arr2[0]);  // 第二个数组的长度
        int len3 = len1 + len2;  // 合并后的数组的长度
    
        // 将arr1的元素复制到arr3中
        for (int i = 0; i < len1; i++) {
            arr3[i] = arr1[i];
        }
    
        // 将arr2的元素复制到arr3中
        for (int i = 0; i < len2; i++) {
            arr3[i + len1] = arr2[i];
        }
    
        // 打印合并后的数组
        for (int i = 0; i < len3; i++) {
            printf("%d ", arr3[i]);
        }
    
        return 0;
    }
    

    这个程序首先定义了两个数组 arr1arr2,然后定义了一个新的数组 arr3 来存储合并后的结果。然后,我们计算了两个输入数组的长度,并将 arr1 的元素复制到 arr3 中。接着,我们将 arr2 的元素复制到 arr3 的相应位置。最后,我们打印合并后的数组。

    请注意,如果两个输入数组有相同的元素,那么 arr2 的元素将会覆盖 arr1 的相应元素。如果你希望避免这种情况,那么在将元素复制到新数组之前,你可能需要做一些额外的检查。

    评论

报告相同问题?

问题事件

  • 创建了问题 12月15日