「已注销」 2023-03-23 11:19 采纳率: 71.4%
浏览 69
已结题

C语言顺序表求集合交集

求集合交集。

【输入格式】:

第一行是A和B的元素个数m和n(m,n <=100);

第二行是集合A的m个元素;

第三行是集合A的n个元素。

【输出格式】:

输出交集的所有元素(按照在A集合出现的顺序输出,最后一个输出后面没有空格)。 若交集为空,输出“NULL”。

【输入样例1】:

3 4

10 9 2

9 10 8 0

【输出样例1】:

10 9

【输入样例2】:

4 5

1 2 3 4

5 6 7 8 9

【输出样例2】:

NULL

#include<stdio.h>
#include<stdlib.h>
#define SIZE 100
typedef struct
{
    int *elem;
    int length;
    int listsize;
}Sqlist;
void initlist_Sq(Sqlist &L)
{
    L.elem=(int *)malloc(SIZE*sizeof(int));
    if(!L.elem)
        exit(1);
    L.length=;
    int listsize=SIZE;
}
int input(Sqlist &L,int k)
{
    int i=0;
    while(i<k)
    {
        scanf("%d",&L.elem[i]);
        i++;
    }
    L.length=i;
    return L.length;
}
int search(Sqlist La,Sqlist Lb,Sqlist &Lc)
{
    int a=0;
    for(int j=0;j<La.length;j++)
        for(int l=0;l<Lb.length;l++)
        {
            if(La.elem[j]==Lb.elem[l])
            {
                Lc.elem[a]=La.elem[l];
                Lc.length=++a;
            }
            else
                continue;
        }
        return Lc.length;
}
int main()
{
    int n,m;
    Sqlist La;
    Sqlist Lb;
    Sqlist Lc;
    scanf("%d %d",&n,&m);
    input(La,n);
    input(Lb,m);
    search(La,Lb,Lc);
    if(Lc.length!=0)
    {
        for(int i=0;i<Lc.length;i++)
            printf("%d",Lc.elem[i]);
    }    
    else
        printf("NULL");
    return 0;

(本人基础差)求指正

  • 写回答

2条回答 默认 最新

  • 快乐鹦鹉 2023-03-23 11:21
    关注

    出现啥问题了啊?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月31日
  • 已采纳回答 3月23日
  • 创建了问题 3月23日

悬赏问题

  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)