听寂寞o彡看风笛o彡 2022-12-09 16:09 采纳率: 66.7%
浏览 47
已结题

C语言交集以指针的方式表示

img


请问这个该怎么用C语言表示
在线请求解答
心怀诚挚之心
望看看问题
帮助完成练习

  • 写回答

1条回答 默认 最新

  • 滴水不穿石 2022-12-09 20:50
    关注

    非标准答案,仅供参考!谢谢!

    img

    #include <stdio.h>
    #include <string.h>
    
    void intersection(int (*arr)[100], int len1, int len2, int *out, int *n)
    {
        int k = 0;
        for (int i = 0; i < len1; i++)
        {
            for (int j = 0; j < len2; j++)
            {
                if (*(*arr + i) == *(*(arr + 1) + j))
                {
                    *(out + k) = *(*arr + i);
                    k++;
                }
            }
        }
    
        *n = k;
    }
    
    int main(int argc, char *argv[])
    {
        int n;
        do
        {
            scanf("%d", &n);
        } while (n < 1);
    
        int arr[n][2][100], len1[n][2], out[n][100], len[n];
        memset((char *)len, 0, n * sizeof(int));
    
        for (int i = 0; i < n; i++)
        {
            int z = 0;
            scanf("%d", &len1[i][0]);
            for (int j = 0; j < len1[i][0]; j++)
            {
                scanf("%d", &arr[i][0][z++]);
            }
    
            scanf("%d", &len1[i][1]);
            z = 0;
            for (int k = 0; k < len1[i][1]; k++)
            {
                scanf("%d", &arr[i][1][z++]);
            }
        }
    
        for (int i = 0; i < n; i++)
        {
            intersection(arr[i], len1[i][0], len1[i][1], out[i], &len[i]);
        }
    
        //输出
        puts("");
        for (int i = 0; i < n; i++)
        {
            if (len[i] == 0)
                puts("empty!");
            else
                    {
                for (int j = 0; j < len[i]; j++)
                {
                    printf("%d ", out[i][j]);
                }
                    puts("");
                    }
        }
    
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

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

悬赏问题

  • ¥15 已知许多点位,想通过高斯分布来随机选择固定数量的点位怎么改
  • ¥15 怎么生成确定数目的泊松点过程
  • ¥15 layui数据表格多次重载的数据覆盖问题
  • ¥15 python点云生成mesh精度不够怎么办
  • ¥15 QT C++ 鼠标键盘通信
  • ¥15 改进Yolov8时添加的注意力模块在task.py里检测不到
  • ¥50 高维数据处理方法求指导
  • ¥100 数字取证课程 关于FAT文件系统的操作
  • ¥15 如何使用js实现打印时每页设置统一的标题
  • ¥15 安装TIA PortalV15.1报错