集合的并,交,差以及它们的混合运算的算法(c语言)

发布网友 发布时间:2022-04-27 04:18

我来回答

2个回答

热心网友 时间:2022-04-14 13:10

/* diff.c:差运算 */
#include <stdio.h>
#include <stdlib.h>
int set_a[5] = {1, 3 ,5 ,9, 7}; // 非 0 元素构成的集合
int set_b[5] = {1, 5, 2 ,8, 4};
int set_c[10] ={0};
int isin(int a_or_b, int elem)
{
    int *set_tmp;
    int cnt;
    switch(a_or_b) 
    {
        case 1:
            set_tmp = set_b;
            break;
        case 2:
            set_tmp = set_a;
            break;
        default:
            printf ( "parameter error!\n" );
    }
    for (cnt = 0; cnt < 5; cnt++) 
    {
        if(set_tmp[cnt] == elem)
        {
            return 1;
        }
    }
    return 0;
}
int main(int argc, char *argv[])
{
    int cnt, cnt2 = 0;
    for (cnt = 0; cnt < 5; cnt++)
    {
        if(isin(1, set_a[cnt]) == 1) // 如果  集合 a 中的元素在集合 b 中
        {
            set_c[cnt2++] = set_a[cnt];
        }
    }
    printf ( "The result of diff: \n" );
    for(cnt = 0; set_c[cnt] != 0; cnt++) // 输出非 0 元素 
    {
        printf ( "%d\t", set_c[cnt] );
    }
    putchar('\n');
    return 0;
}

亲是要这样做差运算吗?

热心网友 时间:2022-04-14 14:28

你是说&&,||吗?

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com