用c语言编写求两个集合的并集
时间: 2023-08-14 10:06:24 浏览: 250
下面给出一个用C语言编写求两个集合的并集的示例代码:
```c
#include <stdio.h>
int main() {
int set1[] = {1, 2, 3, 4};
int set2[] = {3, 4, 5, 6, 7};
int n1 = sizeof(set1) / sizeof(set1[0]);
int n2 = sizeof(set2) / sizeof(set2[0]);
int result[n1 + n2];
int i, j, k;
// 求并集
i = j = k = 0;
while (i < n1 && j < n2) {
if (set1[i] < set2[j]) {
result[k++] = set1[i++];
} else if (set1[i] > set2[j]) {
result[k++] = set2[j++];
} else {
result[k++] = set1[i++];
j++;
}
}
while (i < n1) {
result[k++] = set1[i++];
}
while (j < n2) {
result[k++] = set2[j++];
}
// 输出结果
printf("Union of set1 and set2 is: ");
for (i = 0; i < k; i++) {
printf("%d ", result[i]);
}
printf("\n");
return 0;
}
```
在上面的示例代码中,我们定义了两个整型数组 `set1` 和 `set2`,分别表示两个集合。然后我们通过 `sizeof` 运算求出数组元素个数,将并集存储到 `result` 数组中。最后,我们遍历 `result` 数组并输出结果。
运行上面的代码,输出的结果为:
```
Union of set1 and set2 is: 1 2 3 4 5 6 7
```
阅读全文