bad123des
2022-05-14 22:09
采纳率: 0%
浏览 23

C语言,求两个集合的并集

给定2个集合A和B,请你计算A和B 这2个集合的并集?

Input

输入数据有1组,第1行为n,代表集合A 的元素个数;第2行为集合A的这n个元素;第3行为m,代表集合B的元素个数;第4行为集合B的m个元素。

Output

输出共1行,为这2个集合的并。(注意:集合中的数字是有序的,升序),题目中所有数字都是大于0并且小于100的!

Sample Input

4
1 2 3 4

4

3 4 5 6

Sample Output

1 2 3 4 5 6

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

2条回答 默认 最新

  • 树下等苹果 2022-05-14 22:43
    
    #include<stdlib.h>
    #include<stdio.h>
    int main()
    {
        int a[100],b[100],c[200];
        int m, n,cnt=0;
        scanf("%d", &m);
        for (int i = 0; i < m; i++)
        {
            scanf("%d", &a[i]);
            c[i] = a[i];
        }
        scanf("%d", &n);
        for (int i = 0; i < n; i++)
        {
            scanf("%d", &b[i]);
            c[m + i] = b[i];
        }
        for(int i=0;i<m+n-1;i++)
            for(int j=0;j<m+n-i-1;j++)
                if (c[j] > c[j + 1])
                {
                    int temp;
                    temp = c[j];
                    c[j] = c[j + 1];
                    c[j + 1] = temp;
                }
        
        for(int i=0;i<m+n-1-cnt;i++)
            for (int j = 0; j < m + n - i - 1-cnt; j++)
                if (c[i] == c[i + 1])
                {
                    cnt++;
                    for (int k = i; k < m + n; k++)
                        c[k] = c[k + 1];
                }
        for (int i = 0; i < m + n-cnt; i++)
            printf("%d\t", c[i]);
        return 0;
    }
    
    
    评论
    解决 无用
    打赏 举报 编辑记录

相关推荐 更多相似问题