编制一个能演示执行集合的并、交和差运算的程序
时间: 2023-04-28 22:03:43 浏览: 168
这是一个简单的Python程序,演示了如何执行集合的并、交和差运算:
```
# 定义两个集合
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
# 求并集
union_set = set1.union(set2)
print("并集:", union_set)
# 求交集
intersection_set = set1.intersection(set2)
print("交集:", intersection_set)
# 求差集
difference_set = set1.difference(set2)
print("差集:", difference_set)
```
输出结果为:
```
并集: {1, 2, 3, 4, 5, 6, 7, 8}
交集: {4, 5}
差集: {1, 2, 3}
```
这个程序首先定义了两个集合set1和set2,然后使用union()函数求它们的并集,使用intersection()函数求它们的交集,使用difference()函数求set1相对于set2的差集。最后,程序打印出了这三个集合的结果。
相关问题
用C++编制一个能演示执行集合的并交和差运算的程序
好的,我明白了,以下是一个简单的C语言程序,可以演示执行集合的并、交和差运算:
#include <stdio.h>
#include <stdlib.h>
void unionset(int set1[], int set2[], int n1, int n2);
void intersectset(int set1[], int set2[], int n1, int n2);
void minusset(int set1[], int set2[], int n1, int n2);
int main()
{
int set1[100], set2[100], n1, n2, choice;
printf("输入集合1的大小:");
scanf("%d", &n1);
printf("依次输入集合1中的元素:");
for (int i = 0; i < n1; i++){
scanf("%d", &set1[i]);
}
printf("\n输入集合2的大小:");
scanf("%d", &n2);
printf("依次输入集合2中的元素:");
for (int i = 0; i < n2; i++){
scanf("%d", &set2[i]);
}
printf("\n1. 集合并运算\n2. 集合交运算\n3. 集合差运算\n请选择需要执行的运算:");
scanf("%d", &choice);
switch (choice) {
case 1:
unionset(set1, set2, n1, n2);
break;
case 2:
intersectset(set1, set2, n1, n2);
break;
case 3:
minusset(set1, set2, n1, n2);
break;
default:
printf("输入错误!\n");
break;
}
return 0;
}
void unionset(int set1[], int set2[], int n1, int n2){
int i, j, k = 0, set3[200];
printf("\n集合1:");
for (i = 0; i < n1; i++) {
printf("%d ", set1[i]);
set3[k] = set1[i];
k++;
}
for (i = 0; i < n2; i++) {
for (j = 0; j < n1; j++)
if (set2[i] == set1[j])
break;
if (j == n1) {
printf("%d ", set2[i]);
set3[k] = set2[i];
k++;
}
}
printf("\n集合2:");
for (i = 0; i < n2; i++) {
printf("%d ", set2[i]);
}
printf("\n集合1和集合2的并集:");
for (i = 0; i < k; i++) {
printf("%d ", set3[i]);
}
}
void intersectset(int set1[], int set2[], int n1, int n2){
int i, j, k = 0, set3[100];
printf("\n集合1:");
for (i = 0; i < n1; i++) {
printf("%d ", set1[i]);
}
printf("\n集合2:");
for (i = 0; i < n2; i++) {
printf("%d ", set2[i]);
}
printf("\n集合1和集合2的交集:");
for (i = 0; i < n1; i++) {
for (j = 0; j < n2; j++) {
if (set1[i] == set2[j]) {
set3[k] = set1[i];
k++;
}
}
}
for (i = 0; i < k; i++) {
printf("%d ", set3[i]);
}
}
void minusset(int set1[], int set2[], int n1, int n2){
int i, j, k = 0, set3[100];
printf("\n集合1:");
for (i = 0; i < n1; i++) {
printf("%d ", set1[i]);
}
printf("\n集合2:");
for (i = 0; i < n2; i++) {
printf("%d ", set2[i]);
}
printf("\n集合1和集合2的差集:");
for (i = 0; i < n1; i++){
for (j = 0; j < n2; j++){
if (set1[i] == set2[j])
break;
}
if (j == n2){
set3[k] = set1[i];
k++;
}
}
for (i = 0; i < k; i++){
printf("%d ", set3[i]);
}
}
以上就是一个简单的C语言程序,可以演示执行集合的并、交和差运算。希望对你有所帮助。
编制一个能演示执行集合的并、交和差运算的程序。
好的,我明白了。以下是一个简单的 Python 程序,能够演示执行集合的并、交和差运算:
```
# 表示两个集合的列表
set1 = [1, 2, 3, 4, 5]
set2 = [3, 4, 5, 6, 7]
# 输出两个集合
print('Set 1: ', set1)
print('Set 2: ', set2)
# 执行并集操作
union_set = list(set(set1).union(set(set2)))
print('Union Set: ', union_set)
# 执行交集操作
intersection_set = list(set(set1).intersection(set(set2)))
print('Intersection Set: ', intersection_set)
# 执行差集操作
difference_set = list(set(set1).difference(set(set2)))
print('Difference Set: ', difference_set)
```
请注意,这只是一个基本的示例程序,尚可能存在错误。如果您需要更复杂的程序来执行更复杂的任务,在编写程序时请注意代码的正确性和可读性。
阅读全文