用c语言编制一个能演示集合的交,并和差运算的程序,
时间: 2024-06-03 19:10:03 浏览: 155
好的,以下是使用C语言编写演示集合的交和差运算的程序:
#include <stdio.h>
#define MAX_SIZE 5
// 功能:打印集合A
void printSet(int A[], int size) {
printf("集合A为:{ ");
for (int i = 0; i < size; i++) {
printf("%d ", A[i]);
}
printf("}\n");
}
// 功能:求集合交
void getIntersection(int A[], int B[], int sizeA, int sizeB) {
int i = 0, j = 0;
printf("集合A ∩ B 为:{ ");
while (i < sizeA && j < sizeB) {
if (A[i] == B[j]) {
printf("%d ", A[i]);
i++;
j++;
} else if (A[i] < B[j]) {
i++;
} else {
j++;
}
}
printf("}\n");
}
// 功能:求集合差
void getDifference(int A[], int B[], int sizeA, int sizeB) {
int i = 0, j = 0;
printf("集合A - B 为:{ ");
while (i < sizeA && j < sizeB) {
if (A[i] == B[j]) {
i++;
j++;
} else if (A[i] < B[j]) {
printf("%d ", A[i]);
i++;
} else {
j++;
}
}
while (i < sizeA) {
printf("%d ", A[i]);
i++;
}
printf("}\n");
}
int main() {
int A[MAX_SIZE] = {1, 3, 5, 7, 9};
int B[MAX_SIZE] = {2, 4, 6, 8, 10};
printSet(A, MAX_SIZE);
printSet(B, MAX_SIZE);
getIntersection(A, B, MAX_SIZE, MAX_SIZE);
getDifference(A, B, MAX_SIZE, MAX_SIZE);
return 0;
}
希望能够帮到您。
阅读全文