#include <stdio.h>

int main()
{
    int setA[100], setB[100]; // 定义两个集合
    int num, i, j, flag; // num表示输入的数,i、j用于循环,flag表示num是否在集合B中出现过
    int lenA = 0, lenB = 0; // 集合A、B的长度

    // 输入集合A
    while (1) {
        scanf('%d', &num);
        if (num == -1) break; // 输入结束
        setA[lenA++] = num; // 将num加入集合A
    }

    // 输入集合B
    while (1) {
        scanf('%d', &num);
        if (num == -1) break; // 输入结束
        setB[lenB++] = num; // 将num加入集合B
    }

    // 求差集
    for (i = 0; i < lenA; i++) {
        num = setA[i];
        flag = 0;
        for (j = 0; j < lenB; j++) {
            if (num == setB[j]) { // num在集合B中出现过
                flag = 1;
                break;
            }
        }
        if (flag == 0) printf('%d ', num); // num不在集合B中,输出
    }

    return 0;
}
C语言实现集合差运算

原文地址: https://www.cveoy.top/t/topic/ovK5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录