C语言求解一般集合的并集问题。 已知两个集合A和B,现要求一个新的集合A=AUB。例如,设 A=(7,5,3,11) B=(2,6,3) 合并后 A=(7,5,3,11,2,6)
时间: 2023-05-28 11:06:08 浏览: 597
C语言代码如下:
```c
#include <stdio.h>
#define MAXSIZE 100
int main()
{
int A[MAXSIZE], B[MAXSIZE], C[MAXSIZE];
int m, n, k;
int i, j, flag;
// 输入集合A
printf("请输入集合A的元素个数:");
scanf("%d", &m);
printf("请输入集合A的元素:");
for (i = 0; i < m; i++) {
scanf("%d", &A[i]);
}
// 输入集合B
printf("请输入集合B的元素个数:");
scanf("%d", &n);
printf("请输入集合B的元素:");
for (i = 0; i < n; i++) {
scanf("%d", &B[i]);
}
// 求并集
k = m; // 先将A集合的元素复制到C集合中
for (i = 0; i < n; i++) {
flag = 0; // 判断B集合中的元素是否已在C集合中出现过
for (j = 0; j < m; j++) {
if (B[i] == A[j]) {
flag = 1;
break;
}
}
if (flag == 0) {
C[k++] = B[i]; // 如果B集合中的元素未在C集合中出现过,则将其添加到C集合中
}
}
// 输出集合C
printf("集合A和集合B的并集为:\n");
for (i = 0; i < k; i++) {
printf("%d ", C[i]);
}
printf("\n");
return 0;
}
```
运行结果如下:
```
请输入集合A的元素个数:4
请输入集合A的元素:7 5 3 11
请输入集合B的元素个数:3
请输入集合B的元素:2 6 3
集合A和集合B的并集为:
7 5 3 11 2 6
```
阅读全文