早教吧 育儿知识 作业答案 考试题库 百科 知识分享

c语言题目判断集合的关系假设有2个整数集合A和B,都不是空集,A中有m个整数,B中有n个整数,m和n都不超过10)判断A和B的可能的关系(相等,包含,有交集,无交集)

题目详情
c语言题目判断集合的关系 假设有2个整数集合A和B,都不是空集,A中有m个整数,B中有n个整数,
m和n都不超过10)
判断A和B的可能的关系(相等,包含,有交集,无交集)
▼优质解答
答案和解析
伪代码如下 
void main()
{   
    int a[10];
    int b[10];
    输入a和b的值
    调用子函数
    switch (子函数)
    {
     case 返回值:
     ``` ```
    }

写个子函数
int compare(int a[], int b[])
{
    int count = 0;//用于存储a和b相等元素个数 
    int flag = 0;//用于判断是否有不等元素
    int i, j;
   
    for(i = 0; i < sizeof(a) / sizeof(a[0]); i++)
    {
        for(j = 0; j < sizeof(a) / sizeof(a[0]); j++)
        {
            if(b[j] == a[i])
            {
                count++;
                break;
            } 
        }
        //此时已遍历到b[]的末尾,没有与a[i]相等的元素
        if(b[j] != a[i] && count != sizeof(b) / sizeof(b[0]))
            flag = 1;
    }
 
    if(count == 10)
        return 1;  //元素全等
    /*包含和交集的区别在于两数组间是否有不同的元素*/ 
    if(count != 10 && count != 0)
    {
        if(flag == 0)
            return 2;  //元素不全相等,且没有不相等的元素,为包含
        else
            return 3;  //交集
    }
    if(count == 0)
        return 4;   //没相等元素,无交集
}