3-2 Finden Sie die Elemente, die zwei Arrays nicht gemeinsam haben (C#-Schreiben)

3-2 Finden von Elementen, die nicht von zwei Arrays gemeinsam genutzt werden (PTA-Thema Schreiben von C#)

Bei zwei Integer-Arrays geht es bei dieser Frage darum, die Elemente zu finden, die beiden nicht gemeinsam sind.

Eingabeformat:

Die Eingabe ergibt zwei Integer-Arrays in zwei Zeilen, jede Zeile gibt zuerst eine positive ganze Zahl N (≤20), gefolgt von N ganzen Zahlen, getrennt durch Leerzeichen.

Ausgabeformat:

Geben Sie die Elemente, die den beiden Arrays nicht gemeinsam sind, in der durch die Nummern vorgegebenen Reihenfolge in einer Zeile aus, wobei die Nummern durch Leerzeichen getrennt sind, aber am Ende der Zeile keine zusätzlichen Leerzeichen stehen dürfen. Der Titel garantiert, dass mindestens eine solche Nummer existiert. Dieselbe Nummer wird nicht wiederholt ausgegeben.

Eingabebeispiel: 

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

 

Beispielausgabe:

3 5 -15 6 4 1

 C#-Quellcode (dieser wird von der von C# erstellten Konsole geschrieben)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication34
{
    class Program
    {

        static void Main(string[] args)
        {
            string[] arr1 = Console.ReadLine().Split(' ');
            string[] arr2 = Console.ReadLine().Split(' ');
            int a = int.Parse(arr1[0]);
            int b = int.Parse(arr2[0]);
            int[] num1 = new int[a];
            int[] num2 = new int[b];
            int[] num = new int[a + b];
            int k = 0;
            for(int i=0;i<a;i++)
            {
                num1[i] = int.Parse(arr1[i+1]);
            }
            for (int i = 0; i < b; i++)
            {
                num2[i] = int.Parse(arr2[i+1]);
            }

            //遍历数组a找出与b不相同的元素,并存入数组中
            int f1 = 0;
            int f2 = 0;
            for(int i=0;i<a;i++)
            {
                for(int j=0;j<b;j++)
                {
                    if(num1[i]==num2[j])
                    {
                        f1++;
                    }
                }
                if(f1==0)
                {
                    num[k++] = num1[i];
                }
                f1 = 0;
            }
            //遍历数组b找出与a不相同的元素,并存入数组中
            for (int i = 0; i < b; i++)
            {
                for (int j = 0; j < a; j++)
                {
                    if (num2[i] == num1[j])
                    {
                        f2++;
                    }
                }
                if (f2 == 0)
                {
                    num[k++] = num2[i];
                }
                f2 = 0;
            }
            //输出并且去重
            int f = 0;
            Console.Write(num[0]);
            for(int i=1;i<k;i++)
            {
                for(int j=0;j<i;j++)
                {
                    if (num[j] == num[i]) f = 1;

                }
                if(f==0)
                {
                    Console.Write(" "+num[i]);
                }
                f = 0;
            }

        }
}

    }

Guess you like

Origin blog.csdn.net/xiaozhang0316/article/details/128799418