嵌套 For - 循环创建乘法表 C

新手上路,请多包涵

几个小时以来,我一直在努力克服这个问题,我似乎对这种情况有一种方法。似乎选择语句的使用在创建必要的表时起作用。虽然存在格式问题。

我想知道是否有一种方法可以 只使用我们的教授提到的嵌套 for 循环 来创建同一个表。

选择语句是必要的,还是我们可以实现一个嵌套的 for 循环系统来获得相同的结果?

下图是所需的表格:

这是所需的表


但下面的图片是我所拥有的这是我的结果

下面是我的代码:

 for (int i = 0; i <= numChoice; ++i)
    {
        if (i == 0)
        {
            for (int k = 1; k <= numChoice; ++k)
            {
                cout << "    " << k;
            }
            cout << "\n";
        }
        else
        {
            cout << i << " | ";
            for (int j = 1; j <= numChoice; ++j)
            {
                if (j*i <= 9)
                {
                    cout << "   " << j*i << "|";
                }
                else if (j*i > 9 && j*i <= 100)
                {
                    cout << "  " << j*i << "|";
                }
                else if (j*i > 99 && j*i <= 999)
                {
                    cout << " " << j*i << "|";
                }
            }
            cout << "\n";
            for (int k = 0; k <= numChoice; ++k)
            {
                if (k == 0)
                {
                    cout << "-|";
                }
                else
                {
                    cout << "----|";
                }
            }
            cout << "\n";
        }
    }

原文由 FranticCode 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 292
1 个回答

以下代码使用 no if else 构造。格式可以通过使用 setw 获得,用于设置整数的宽度。以下代码产生完美的输出。

    #include<iostream>
   #include<iomanip>
   using namespace std;
   int main()
   {
   int i,j;
   cout<<"     "<<1;//5 space chars

   for(i = 2;i <= 10;++i)
       cout<<"    "<<i;//4 space chars

   cout<<endl;
   cout<<"   ----|";

   for(i = 2;i <= 10;++i)
       cout<<"----|";

   cout<<endl;

   for(i = 1;i <= 10;++i)
   {
       cout<<setw(2)<<i<<"|";

       for(j = 1;j <= 10;++j)
          cout<<setw(4)<<j*i<<"|";

       cout<<endl;
       cout<<" -|----";

       for(j = 2;j <= 9;++j)
          cout<<"|----";

       cout<<"|----|";
       cout<<endl;

   }
   return 0;
   }

原文由 Sumeet 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题