m0_61873236 2022-02-16 11:56 采纳率: 85%
浏览 212
已结题

c语言程序相关的问题

编写一个程序 程序要求 将数组1和数组2相同的数字复制到目标数组

数组1: 1 4 1 5 9 2
数组2: 1 1 8 2 5 3

将 1 1 5 2复制到目标群组
这是我的代码 能帮我看看问题在哪里吗
我运行下来的结果只有 1


#include<stdio.h>
#include<string.h>


int common_elements(int length, int source1[length], int source2[length], int destination[length]) {
     
   int i,j,k=0;
   for(i=0;i<length;i++) {
     int flag=1;
    for(j=0;j<k;j++){
    if(source2[i]!=destination[j]) {
       flag=0;
       break;
} 
}    
     if(flag) 
     destination[k++]=source1[i];
}
     return k;
}     
int main(){ 
    int n,a;
    int source1[6]={1,4,1,5,9,2};
    int source2[6]={1,1,8,2,5,3};
    int destination[6]; 
    a=common_elements(6,source1,source2,destination);
    for(n=0;n<a;n++){
      printf("%d", destination[n]);
      return 0;
}
}
  • 写回答

6条回答 默认 最新

  • fuill 2022-02-16 18:27
    关注

    //两层循环保证遍历和比较到两个数组的每个元素
    //两个数组中都有的元素放入目标数组中,用flag标记防止重复
    //return应该放在输出循环的外面

    #include<stdio.h>
    #include<string.h>
    int common_elements(int length, int source1[length], int source2[length], int destination[length])
    {
        int i,j,h,k=0,flag;
        //两层循环保证遍历和比较到两个数组的每个元素
        for(i=0; i<length; i++)
        {
            flag=0;
            for(j=0; j<length; j++)
            {
                if(source1[i]==source2[j]&&flag==0)
                {
                    flag=1;
                    destination[k++]=source1[i];
                    //两个数组中都有的元素放入目标数组中,用flag标记防止重复
                }
            }
        }
        return k;
    }
    int main() {
        int n,a;
        int source1[6]= {1,4,1,5,9,2};
        int source2[6]= {1,1,8,2,5,3};
        int destination[15];
        a=common_elements(6,source1,source2,destination);
        for(n=0; n<a; n++)
        {
            printf("%d ", destination[n]);
        }
        return 0;//return应该放在输出循环的外面
    }
    

    img

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

报告相同问题?

问题事件

  • 系统已结题 2月26日
  • 已采纳回答 2月18日
  • 创建了问题 2月16日

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看