c语言怎么合并两个数组并去重

avatar
作者
猴君
阅读量:5

可以使用循环遍历的方法来合并两个数组并去重。

具体步骤如下:

  1. 定义两个数组arr1和arr2,分别存储需要合并的两个数组。
  2. 定义一个新的数组result,用于存储合并后的结果。
  3. 遍历arr1数组,将其中的元素逐个添加到result数组中。
  4. 遍历arr2数组,对于其中的每个元素,判断是否已经存在于result数组中,若不存在则添加到result数组中。
  5. 合并完成后,result数组中即为合并并去重后的结果。

下面是使用C语言编写的示例代码:

#include <stdio.h>  int main() {     int arr1[] = {1, 2, 3, 4};     int arr2[] = {3, 4, 5, 6};     int len1 = sizeof(arr1) / sizeof(arr1[0]);     int len2 = sizeof(arr2) / sizeof(arr2[0]);     int result[100];  // 假设合并后的数组最大长度为100     int len = 0;  // 合并后的数组长度      // 将arr1数组的元素添加到result数组中     for (int i = 0; i < len1; i++) {         result[len++] = arr1[i];     }      // 遍历arr2数组,将不重复的元素添加到result数组中     for (int i = 0; i < len2; i++) {         int exist = 0;  // 标记arr2当前元素是否已存在于result数组中         for (int j = 0; j < len; j++) {             if (arr2[i] == result[j]) {                 exist = 1;                 break;             }         }         if (!exist) {             result[len++] = arr2[i];         }     }      // 输出合并并去重后的数组     for (int i = 0; i < len; i++) {         printf("%d ", result[i]);     }     printf("\n");      return 0; } 

以上代码的输出结果为:1 2 3 4 5 6,表示合并并去重后的数组。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!