C#乘法Table逻辑

C# Multiplication Table logic

我正在制作一个显示乘法 table 的 c# 程序,通过使用我的代码,我只能打印完整的 table,我如何打印随机 table,如下所示。

我的码位:

using System;  
public class Exer
{  
    public static void Main() 
{
   int j,n;
   
    Console.Write("\n\n");
    Console.Write("Display the multiplication table:\n");
    Console.Write("-----------------------------------");
    Console.Write("\n\n");   

   Console.Write("Input the number (Table to be calculated) : ");
   n= Convert.ToInt32(Console.ReadLine());   
   Console.Write("\n");
   for(j=1;j<=10;j++)
   {
     Console.Write("{0} X {1} = {2} \n",n,j,n*j);
   }
  }
}

预期输出:

1 x 2 = 2
2 x 2 = 4
3 x 2 = 6
1 x 4 = 4
2 x 4 = 8
3 x 4 = 12
1 x 6 = 6
2 x 6 = 12
3 x 6 = 18
1 x 8 = 8
2 x 8 = 16
3 x 8 = 24
1 x 10 = 10
2 x 10 = 20
3 x 10 = 30

根据需要的输出,您需要稍微更改for循环逻辑。 因为在开始编码之前您需要获得预期结果中的逻辑,所以这不是 'random' table

for(j=2; j<=10; j=j+2 )
{
   for (mathNumber = 1; mathNumber <= n; mathNumber++  )       
   {
        Console.Write("{0} X {1} = {2} \n",mathNumber,j,mathNumber*j);
   }
}

如您所见,结果必须是前 n 个数字(n 是您从控制台获得的参数,但将其作为参数获取可能更好)乘以数字 2、4、6 的结果,8,10

不过,您图片中的表格不是随机的。有一个确定的模式。函数 DisplayMath() 正在接收一个整数参数;图中3、4、5。

图片中的输出很可能是由两个 NESTED for 循环产生的。

整数参数控制着 INNER for 循环,它从 1 到参数,递增 1。

外部循环从 2 到 10,递增 2。

可能的代码:

public static void Main() {
    DisplayMath(4);
}

public static void DisplayMath(int x) {
    for(int y=2; y<=10; y=y+2) {
        for(int z=1; z<=x; z++) {
            Console.WriteLine("{0} X {1} = {2}",z,y,z*y);
        }
    }
}

输出:

1 X 2 = 2
2 X 2 = 4
3 X 2 = 6
4 X 2 = 8
1 X 4 = 4
2 X 4 = 8
3 X 4 = 12
4 X 4 = 16
1 X 6 = 6
2 X 6 = 12
3 X 6 = 18
4 X 6 = 24
1 X 8 = 8
2 X 8 = 16
3 X 8 = 24
4 X 8 = 32
1 X 10 = 10
2 X 10 = 20
3 X 10 = 30
4 X 10 = 40