我正在用C#做一个简单的练习,这就是问题所在:编写一个名为TimeTable的程序来生成1到9的乘法表,如图所示,使用两个嵌套的for循环:
Sample output:
1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
这是我的代码
int n = 9;
for (int row = 1; row <= n; row++)
{
for (int col = 1; col <= n * n ;col++)
{
Console.Write(col);
}
Console.WriteLine();
}
我的代码无效,任何人都可以帮助我。谢谢
答案 0 :(得分:4)
尝试:
int n = 9;
for (int row = 1; row <= n; row++)
{
for (int col = 1; col <= n; col++)
{
Console.Write(row * col);
}
Console.WriteLine();
}
问题在于,对于每个n
行,您在n*n
列中进行迭代,然后每行都包含示例表中除了一行之外的所有数字。在这里,我们遍历每一行,每次迭代所有列并打印row*col
的结果,这是所需的乘法。
答案 1 :(得分:0)
试试这个,
int n = 9;
Enumerable.Range(1, n).ToList().ForEach(row =>
{
Enumerable.Range(1, n).ToList().ForEach(col =>
{
Console.Write(string.Format("{0, 3}", row * col));
});
Console.WriteLine();
});