viency13 2023-03-06 10:42 采纳率: 68.8%
浏览 23
已结题

有一个测试点过不去啊

求两个集合A,B的并集

#include <iostream>
#define N 10000
using namespace std;

typedef struct
{
    int *elem;
    int length;
}sqlist;
void init ( sqlist &l )
{
    l.elem = new int[N];
    l.length = 0;
}
void print ( sqlist l )
{
    for ( int i = 0; i < l.length; i ++ )
    {
        cout << l.elem[i] << " ";
    }
}

int main()
{
    sqlist l;
    init (l);
    int m;
    int i, j;
    cin >> m;
    for ( i = 0; i < m; i ++ )
    {
        int a;
        cin >> a;
        l.elem[i] = a;
        l.length ++;
    }
    int n;
    cin >> n;
    for ( i = 0; i < n; i ++ )
    {
        int cnt = 0;
        int b;
        cin >> b;
        for ( j = 0; j < m; j ++ )
        {
            if ( l.elem[j] == b )
            {
                cnt ++;
            }
        }
        if ( cnt == 0 )
        {
            l.elem[l.length] = b;
            l.length ++;
        }
    }
    print (l);
    return 0;
}
  • 写回答

2条回答 默认 最新

  • CodeBytes 2023-03-06 10:57
    关注

    该回答引用ChatGPT

    #include <iostream>
    #define N 10000
    using namespace std;
    
    typedef struct
    {
        int *elem;
        int length;
    } sqlist;
    
    void init(sqlist &l)
    {
        l.elem = new int[N];
        l.length = 0;
    }
    
    void print(sqlist l)
    {
        for (int i = 0; i < l.length; i++)
        {
            cout << l.elem[i] << " ";
        }
    }
    
    int main()
    {
        sqlist l;
        init(l);
        int m;
        int i, j;
        cin >> m;
        for (i = 0; i < m; i++)
        {
            int a;
            cin >> a;
            l.elem[i] = a;
            l.length++;
        }
        int n;
        cin >> n;
        for (i = 0; i < n; i++)
        {
            int cnt = 0;
            int b;
            cin >> b;
            for (j = 0; j < l.length; j++)
            {
                if (l.elem[j] == b)
                {
                    cnt++;
                }
            }
            if (cnt == 0)
            {
                l.elem[l.length] = b;
                l.length++;
            }
        }
        print(l);
        return 0;
    }
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月18日
  • 已采纳回答 3月10日
  • 创建了问题 3月6日

悬赏问题

  • ¥15 在matlab中Application Compiler后的软件无法打开
  • ¥15 想问一下STM32创建工程模板时遇到得问题
  • ¥15 Fiddler抓包443
  • ¥20 Qt Quick Android 项目报错及显示问题
  • ¥15 而且都没有 OpenCVConfig.cmake文件我是不是需要安装opencv,如何解决?
  • ¥15 oracleBIEE analytics
  • ¥15 H.264选择性加密例程
  • ¥50 windows的SFTP服务器如何能批量同步用户信息?
  • ¥15 centos7.9升级python3.0的问题
  • ¥15 安装CentOS6时卡住