如何获得结果,我的代码向我显示了错误的结果

时间:2018-07-27 05:43:30

标签: c# c#-4.0

  

编写一个接受两个数组并将第二个数组的前n个元素插入第一个数组的位置x并将第二个数组的其余元素添加到末尾的函数。

InsertElements(arr1 = [1,2,3,9], arr2 = [4,7,2], pos = 3, count = 2)应该返回[1,2,4,7,3,9,2]

static void getresult(int []a, int []b, 
                            int n, int m)
    {
        for (int i = 0; i < n; i++)
        {
            int j;

            for (j = 0; j < m; j++)
                if (a[i] == b[j])
                    break;

            if (j == m)
                Console.Write(a[i] + " ");
        }
    }

    // Driver code
    public static void Main()
    {
        int []a = {1, 2, 3, 9};
        int []b = {4,7,2};

        int n = a.Length;
        int m = b.Length;

        getresult(a, b, n, m);
    }

2 个答案:

答案 0 :(得分:1)

解决方案之一可能就是这样:

OFFLINE_COMPRESSION

答案 1 :(得分:0)

根据您的示例,我不确定3的位置,但这是可产生所需输出的代码:-

        static void Main(string[] args)
    {
        int[] a = { 1, 2, 3, 9 };
        int[] b = { 4, 7, 2 };

        int position = 3;
        int count = 2;

        getresult(a, b, position, count);

        Console.ReadLine();
    }

            static void getresult(int[] a, int[] b,
                        int n, int m)
    {
        int firstArrayCount = 0;

        for(int i=0; i < n-1 ; i++)
        {
            Console.WriteLine(a[i]);

            firstArrayCount++;
        }

        for(int i=0; i < m ; i++)
        {
            Console.WriteLine(b[i]);
        }

        for(int i=firstArrayCount;i<a.Length;i++)
        {
            Console.WriteLine(a[i]);
        }

        for(int i=m;i<b.Length;i++)
        {
            Console.WriteLine(b[i]);
        }
    }