编程实现求解两个集合的并集、差 集(使用c++)输入俩个集合求并集和差集
时间: 2023-03-20 07:02:42 浏览: 122
c++程序设计实现集合交集并集差集.doc
5星 · 资源好评率100%
好的,我可以回答这个问题。以下是使用C语言实现求解两个集合的并集和差集的代码:
```c
#include <stdio.h>
void union_set(int set1[], int set2[], int n1, int n2);
void difference_set(int set1[], int set2[], int n1, int n2);
int main()
{
int set1[100], set2[100];
int n1, n2;
printf("输入第一个集合的大小:");
scanf("%d", &n1);
printf("输入第一个集合的元素:");
for (int i = 0; i < n1; i++) {
scanf("%d", &set1[i]);
}
printf("输入第二个集合的大小:");
scanf("%d", &n2);
printf("输入第二个集合的元素:");
for (int i = 0; i < n2; i++) {
scanf("%d", &set2[i]);
}
printf("第一个集合:{");
for (int i = 0; i < n1; i++) {
printf("%d ", set1[i]);
}
printf("}\n");
printf("第二个集合:{");
for (int i = 0; i < n2; i++) {
printf("%d ", set2[i]);
}
printf("}\n");
union_set(set1, set2, n1, n2);
difference_set(set1, set2, n1, n2);
return 0;
}
void union_set(int set1[], int set2[], int n1, int n2)
{
int flag;
printf("两个集合的并集为:{");
for (int i = 0; i < n1; i++) {
printf("%d ", set1[i]);
}
for (int i = 0; i < n2; i++) {
flag = 0;
for (int j = 0; j < n1; j++) {
if (set2[i] == set1[j]) {
flag = 1;
break;
}
}
if (!flag) {
printf("%d ", set2[i]);
}
}
printf("}\n");
}
void difference_set(int set1[], int set2[], int n1, int n2)
{
int flag;
printf("第一个集合与第二个集合的差集为:{");
for (int i = 0; i < n1; i++) {
flag = 0;
for (int j = 0; j < n2; j++) {
if (set1[i] == set2[j]) {
flag = 1;
break;
}
}
if (!flag) {
printf("%d ", set1[i]);
}
}
printf("}\n");
}
```
运行代码后,程序会要求你输入两个集合的大小和元素,然后输出这两个集合的并集和差集。
希望这个回答能够帮到你!
阅读全文