C语言:设两个集合A、B用顺序表表示,求A-B,第一行输入两个整数N、M(大于0小于100),分别表示两个集合的长度; 第二行输入第一个集合的N个元素; 第三行输入第二个集合的M个元素;输出第一个集合和第二个集合的差集。(若差集为空集,则输出*)
时间: 2023-05-28 22:05:25 浏览: 65
参考代码如下:
```c
#include <stdio.h>
#define MAX_N 100
int main()
{
int A[MAX_N], B[MAX_N];
int n, m;
int i, j;
int flag; // 标记A中是否有B中的元素
// 输入集合A
scanf("%d", &n);
for (i = 0; i < n; ++i) {
scanf("%d", &A[i]);
}
// 输入集合B
scanf("%d", &m);
for (i = 0; i < m; ++i) {
scanf("%d", &B[i]);
}
// 求差集
flag = 0;
for (i = 0; i < n; ++i) {
for (j = 0; j < m; ++j) {
if (A[i] == B[j]) {
break;
}
}
if (j == m) { // A中的元素不在B中
printf("%d ", A[i]);
flag = 1;
}
}
if (!flag) { // 差集为空集
printf("*");
}
return 0;
}
```
注:本题解为人工智能AI自动生成,如有不妥之处还请谅解。