zoukankan      html  css  js  c++  java
  • 练习7-4 找出不是两个数组共有的元素 (20 分)

    给定两个整型数组,本题要求找出不是两者共有的元素。

    输入格式:

    输入分别在两行中给出两个整型数组,每行先给出正整数N(20),随后是N个整数,其间以空格分隔。

    输出格式:

    在一行中按照数字给出的顺序输出不是两数组共有的元素,数字间以空格分隔,但行末不得有多余的空格。题目保证至少存在一个这样的数字。同一数字不重复输出。

    输入样例:

    10 3 -5 2 8 0 3 5 -15 9 100
    11 6 4 8 2 6 -5 9 0 100 8 1

    输出样例:

    3 5 -15 6 4 1

    提交:

    #include <stdio.h>
    
    int del(int * arr,int n) {
        int i;
        for (i=0;i<n-1;i++) {
            for (int j=i+1; j<n; j++) {//从arr[i]的下一位开始比较,直到最后一位
                if (arr[i] == arr[j]) {//如果数字重复
                    for (int k=j;k<n-1;k++) arr[k] = arr[k+1];//从arr[k]开始,所有数字前移一位
                    --n;//数组长度 减 1
                    --j;//同时遍历也要减 1
                }
            }
        }
        return n;//返回去重后数组长度
    }
    int main() {
        int n1,n2,i,j;
        
        scanf("%d",&n1);
        int arr1[n1];
        for (int i=0;i<n1;i++) scanf("%d ",&arr1[i]);//输入第一个数组
    
        scanf("
    ");
        scanf("%d",&n2);
        int arr2[n2];
        for (int i=0;i<n2;i++) scanf("%d ",&arr2[i]);//输入第二个数组
        
        //对输入的两个数组去重
        n1 = del(arr1,n1);
        n2 = del(arr2,n2);
        
        for (i=0;i<n1;i++) {//输出打印第一个数组和第二个数组相同的元素
            for (j=0;j<n2;j++) if (arr1[i] == arr2[j]) break;
            if (j==n2) printf("%d ",arr1[i]);
        }
        int flag = 0;
        for (i=0;i<n2;i++) {//输出打印第二个数组和第一个数组相同的元素
            for (j=0;j<n1;j++) if (arr2[i] == arr1[j]) break;
            if (j==n1) {
                if (flag != 0) printf(" ");//最大N,只有1个数字不同->注意这里的空格格式
                printf("%d",arr2[i]);
                flag++;
            }
        }
        return 0;
    }
  • 相关阅读:
    python面试的100题(2)
    面试题目和地址
    python面试的100题(1)
    no module named系列问题解决
    ubuntu16.04无法打开终端
    Reinforcement Learning,微信公众号:DRL学习
    Java中的I/O操作File
    Java中的Date时间转换【SimpleDateFormat (parse和format)】和Calendar日历表
    重写equals方法
    Java中栈,堆,常量池的简单理解
  • 原文地址:https://www.cnblogs.com/cgy-home/p/15077796.html
Copyright © 2011-2022 走看看