乘法表c ++

时间:2014-03-26 01:07:14

标签: c++

我正在尝试构建一个如下所示的乘法表图表:

     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;

 }

2 个答案:

答案 0 :(得分:0)

你很亲密!

我建议查看你的for循环中有嵌套的结尾。最后,您只需打印两个结束。也许不是打印两个端线(在每一行之间创建一个间隙),而是可以让它打印其他东西。 ; - )

(我假设这是家庭作业,所以我不想放弃它 - 没有乐趣!)

答案 1 :(得分:0)

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

示例:

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++;
}

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