我在我的代码中乘法数组有问题

时间:2019-03-29 23:08:07

标签: c#

我这里有三个数组。第三个数组必须是前两个的乘积。我不知道为什么我的代码不起作用 例如,firs数组包含[0,4,1],第二个为[4] 因此输出应该为[0,16,4],但显示为[4,4,4]

using System;
namespace ConsoleApp15
{
    class Program
    {
        static void M(int[] A, int[] B, int[] C)
        {
            for (int w = 0; w < A.Length; w++)
            {
                for (int j = 0; j < B.Length; j++)
                {
                    for (int e = 0; e < C.Length; e++)
                    {
                        C[e] = A[w] * B[j];
                    }
                }
            }
        }
        static void Main()
        {
            int x = Convert.ToInt32(Console.ReadLine());
            int y = Convert.ToInt32(Console.ReadLine());
            int z = Math.Max(x, y);
            int[] D = new int[x];
            int[] E = new int[y];
            int[] F = new int[z];
            for (int i = 0; i < D.Length; i++)
            {
                D[i] = Convert.ToInt32(Console.ReadLine());
            }
            for (int j = 0; j < E.Length; j++)
            {
                E[j] = Convert.ToInt32(Console.ReadLine());
            }
            for (int i = 0; i < D.Length; i++)
            {
                for (int j = 0; j < E.Length; j++)
                {
                    for (int k = 0; k < F.Length; k++)
                    {
                        M(D, E, F);
                        Console.WriteLine(F[k]);
                        Console.ReadLine();
                        break;
                    }
                }
            }
        }
    }
}

1 个答案:

答案 0 :(得分:-1)

    for (int e = 0; e < C.Length; e++)
    {
        C[e] = A[w] * B[j];
    }

在此块中,w和j不变。第三数组始终填充最终结果。