我这里有三个数组。第三个数组必须是前两个的乘积。我不知道为什么我的代码不起作用 例如,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;
}
}
}
}
}
}
答案 0 :(得分:-1)
for (int e = 0; e < C.Length; e++)
{
C[e] = A[w] * B[j];
}
在此块中,w和j不变。第三数组始终填充最终结果。