#include<stdio.h>
#include<stdlib.h>
void main() {
int a[20] = { 12,8,5,4,11,2,13,14,15,16,17,18,19,20,21,22,23,24,25,26 };
int b[15] = { 88,99,77,55,44,17,18,19,20,21,22,23,24,25,26 };
int c[15] = { 0 };
int d[20 + 15] = { 0 };
//求交集
printf("集合a和b的交集:\n");
int count = 0;
for (int i = 0; i < 15; i++) {
//设置匹配标识
int flag = 0;
for (int j = 0; j < 20; j++) {
if (b[i] == a[j]) {
flag = 1;
break;
}
}
if (flag == 1) {
c[count] = b[i];
count++;
}
}
for (int i = 0; i < 15; i++) {
if (c[i] != 0) {
printf("%3d", c[i]);
}
}
//求并集
for (int i = 0; i < 15; i++) {
d[i] = b[i];
}
printf("\n集合a和b的并集:\n");
int cnt = 15;
for (int i = 0; i < 20; i++) {
/*
for (int j = 0; j < 15; j++) {
if (a[i] != b[j]) {
d[cnt] = a[i];
cnt++;
}
}
*/
//求并集的逻辑不好想!!!
int flag1 = 0;
for (int j = 0; j < 15; j++) {
if (a[i] == b[j]) {
flag1 = 1;
break;
}
}
if (!flag1) {
d[cnt] = a[i];
cnt++;
}
}
for (int i = 0; i < 35; i++) {
if (d[i] != 0) {
printf("%3d", d[i]);
}
}
system("pause");
}
交集_并集
最新推荐文章于 2022-02-11 23:38:07 发布