集合A与B的差集

集合A与B的差集
//先计算A-B的元素个数,然后冒泡排序
#include<stdio.h>
int   m , n;
int   i , j , k , fflag ;
int   flag ;
int   a [ 100 ];
int  b [ 100 ];
int   c [ 100 ];

int   main ()
{
    while ( scanf ( "%d %d" , & m , & n))
    {
        fflag = 0 ;
        k = 0 ;
        if  ( m == 0   &&  n == 0 )
            return   0 ;
        else
        {
            //********
            //读入AB的位数
            for  ( i = 0 ; i < m ; i ++ )
                scanf ( "%d" , & a [ i ]);
            for  ( j = 0 ; j < n; j ++ )
                scanf ( "%d" , & b [ j ]);
            //********
            //判断A-B有几个元素,并存入数组c
            //flag用作统计A中第i个元素与B中所有元素是否相同
            for  ( i = 0 ; i < m ; i ++ )
            {
                flag = 0 ;
                for  ( j = 0 ; j < n; j ++ )
                {
                    if ( a [ i ] != b [ j ])
                        flag ++ ;
                }
                if  ( flag == n)
                {
                    c [ k ] = a [ i ];
                    k = k + 1 ;
                    fflag = 1 ;
                }
            }
            //*******
            //fflag用作标志位,0 标志A-B无元素输出NULL,否则对A-B元素进行排序
            if ( fflag == 0 )
                printf ( "NULL" );
            else
            {
                for  ( i = 0 ; i < k ; i ++ )
                {
                    for  ( j = i ; j < k ; j ++ )
                    {
                        if ( c [ i ] > c [ j ])
                        {
                            c [ i ] = c [ j ] + c [ i ];
                            c [ j ] = c [ i ] - c [ j ];
                            c [ i ] = c [ i ] - c [ j ];
                        }
                           
                    }
                    printf ( "%d " , c [ i ]);
                }
            }
            //********
            printf ( " \n " );

        }
    }
    return   1 ;
}
//初学者伤不起啊
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值