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
我正在制作一个显示乘法 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