12.5 找出不是两个数组共有的元素,两全其美的办法还不如分步输出的简单

发布于 2024-12-05  72 次阅读


找出不是两个数组共有的元素。输入一个正整数 n (1<n≤10),再输入 n 个整数,存入第 1 个数组中;然后输入一个正整数 m (1<m≤10),再输入 m 个整数,存入第 2个数组中,找出所有不是这两个数组共有的元素


void tu(int* in,int* im,int n,int m){
  //找出一个整数数组 in 中不在另一个整数数组 im 中的元素 
  for(int i=0;i<n;i++){
    int found=0;
    for(int j=0;j<m;j++){
        if(in[i]==im[j]){
         found=1;
         break;
        }
    }
     if(found==0){
        printf("%d",in[i]);
       }
   }
   //找出一个整数数组 im 中不在另一个整数数组 in 中的元素
    for(int i=0;i<m;i++){
    int found=0;
    for(int j=0;j<n;j++){
        if(im[i]==in[j]){
         found=1;
         break;
        }
    }
     if(found==0){
        printf("%d",im[i]);
       }
   }
}

如果想一步解决,你需要考虑m和n的大小,同时考虑如何将在im不在in,在in不在im的元素都输出

还不如分开找

只要found为0,分别之间输出即可,不可能会有重复

届ける言葉を今は育ててる
最后更新于 2024-12-25