Multiplication Tables c++

Multiplication Tables c++

本文关键字:c++ Tables Multiplication      更新时间:2023-10-16

我正在尝试建立一个乘法表,看起来像这样:

     1    2    3    4    5    6    7    8    9   10
   ----|----|----|----|----|----|----|----|----|----|
 1|   1|   2|   3|   4|   5|   6|   7|   8|   9|  10|
 -|----|----|----|----|----|----|----|----|----|----|
 2|   2|   4|   6|   8|  10|  12|  14|  16|  18|  20|
 -|----|----|----|----|----|----|----|----|----|----|
 3|   3|   6|   9|  12|  15|  18|  21|  24|  27|  30|
 -|----|----|----|----|----|----|----|----|----|----|
 4|   4|   8|  12|  16|  20|  24|  28|  32|  36|  40|
 -|----|----|----|----|----|----|----|----|----|----|
 5|   5|  10|  15|  20|  25|  30|  35|  40|  45|  50|
 -|----|----|----|----|----|----|----|----|----|----|
 6|   6|  12|  18|  24|  30|  36|  42|  48|  54|  60|
 -|----|----|----|----|----|----|----|----|----|----|
 7|   7|  14|  21|  28|  35|  42|  49|  56|  63|  70|
 -|----|----|----|----|----|----|----|----|----|----|
 8|   8|  16|  24|  32|  40|  48|  56|  64|  72|  80|
 -|----|----|----|----|----|----|----|----|----|----|
 9|   9|  18|  27|  36|  45|  54|  63|  72|  81|  90|
 -|----|----|----|----|----|----|----|----|----|----|
10|  10|  20|  30|  40|  50|  60|  70|  80|  90| 100|
 -|----|----|----|----|----|----|----|----|----|----|

我有麻烦得到的行是在表内。我不确定我是否应该把这些虚线放在嵌套的for循环中,或者我是否必须为它们创建一个单独的循环。

下面是我的代码:
for (int i = 1; i <= tableNumber; i++)
{
    cout << setw(5) << i;
}
    cout << endl << "   ";
for (int x = 1; x <= tableNumber; x++)
{
     cout << "----|";
}
     cout << endl;
for (int row = 1; row <= tableNumber; row++)
{
    cout << setw(2) << row << "|";
  for (int col = 1; col <= tableNumber; col++)
  {
    cout << setw(4) << row*col;
    cout << "|";
  }
  cout << endl << endl;
 }

你很接近了!

我建议查看for循环的末尾,里面有巢。最后,只需打印两条尾线。也许,您可以让它打印其他内容,而不是打印两条尾线(这会在每一行之间产生间隙)。: -)

(我假设这是家庭作业,请注意,所以我尽量不把它泄露出去——这一点也不好玩!)

您应该设置表格的一行,然后遍历并添加底线。增加行值并继续。

的例子:

int r (1);
while (r < rowNumbers)
{
    for (int c = 1; c < colNumbers; c++)
    {
        cout << setw(4) << row*col;
        cout << "|";
    }
     cout << endl
    for (int x = 1; x <= colNumbers; x++)
    {
         cout << "----|";
    }
    court << endl;
    r++;
}

将行放在数字下面,然后移动到下一行。