C语言 两个数组合并去重
时间: 2023-05-17 20:02:56 浏览: 61
以下是一个简单的 C 语言程序,可以将两个数组合并并去重:
```c
#include <stdio.h>
int main() {
int arr1[] = {1, 2, 3, 4, 5};
int arr2[] = {4, 5, 6, 7, 8};
int n1 = sizeof(arr1) / sizeof(int);
int n2 = sizeof(arr2) / sizeof(int);
int arr3[n1 + n2];
int i, j, k;
for (i = 0; i < n1; i++) {
arr3[i] = arr1[i];
}
k = n1;
for (i = 0; i < n2; i++) {
int flag = 0;
for (j = 0; j < n1; j++) {
if (arr2[i] == arr1[j]) {
flag = 1;
break;
}
}
if (!flag) {
arr3[k++] = arr2[i];
}
}
for (i = 0; i < k; i++) {
printf("%d ", arr3[i]);
}
return 0;
}
```
这个程序首先定义了两个数组 `arr1` 和 `arr2`,然后计算出它们的长度 `n1` 和 `n2`。接着定义了一个新的数组 `arr3`,长度为 `n1 + n2`。然后将 `arr1` 中的元素复制到 `arr3` 中,再遍历 `arr2` 中的元素,如果它不在 `arr1` 中,就将它添加到 `arr3` 中。最后遍历 `arr3` 中的元素并输出。