橘味起司糖 发表于 2021-11-4 20:43:33

C语言找出不是两个数组共有的元素

输入n个整数,存入第一个数组;输入m个整数,存入第二个数组,找出所有不是这两个数组共有的元素

434773632 发表于 2021-11-4 21:02:04

遍历比较

jackz007 发表于 2021-11-4 22:13:50

本帖最后由 jackz007 于 2021-11-4 22:34 编辑

#include <stdio.h>

int delx(int d[] , int n , int e)
{
      int i , j , k                                                 ;
      for(k = n , i = 0 ; i < k ;) {
                if(d == e) {
                        for(j = i + 1 ; j < k ; j ++) d = d ;
                        k --                                          ;
                } else {
                        i ++                                          ;
                }
      }
      return k                                                      ;
}

int main(void)
{
      int a , b , c , d , i , j , k , m , n             ;
      bool f                                                    ;
      scanf("%d" , & n)                                       ;
      for(i = 0 ; i < n ; i ++) scanf("%d" , & d)         ;
      scanf("%d" , & m)                                       ;
      for(i = 0 ; i < m ; i ++) scanf("%d" , & d)         ;
      for(b = n , c = m , i = 0 ; i < b ;) {
                for(f = false , j = 0 ; j < c ; j ++) {
                        if(d == d) {
                              f = true                        ;
                              break                           ;
                        }
                }
                if(f) {
                        a = d                               ;
                        b = delx(d , b , a)                  ;
                        c = delx(d , c , a)                  ;
                        i = 0                                     ;
                } else {
                        i ++                                    ;
                }
      }
      if(b) {
                printf("%d" , d)                            ;
                for(k = 1 ; k < b ; k ++) printf(" %d" , d) ;
      }
      if(c) {
                if(! b) printf("%d" , d)                  ;
                else printf(" %d" , d)                      ;
                for(k = 1 ; k < c ; k ++) printf(" %d" , d) ;
      }
      printf("\n")                                              ;
}
      编译、运行实况:
D:\00.Excise\C>g++ -o x x.c

D:\00.Excise\C>x
9
2 5 7 10 11 3 5 2 1
12
1 2 3 4 5 6 7 8 9 10 11 12
4 6 8 9 12

D:\00.Excise\C>
页: [1]
查看完整版本: C语言找出不是两个数组共有的元素