如何在c ++中的每个嵌套循环的新列中打印输出?

时间:2019-03-25 12:28:43

标签: c++ for-loop

我用c ++编写了一个程序,该程序由两个这样的for循环组成:

   for(int i=1; i<3; i++)
   {
       for(int j=1; j<3; j++)
       {
       cout<<j<<"\t"<<2*j*i<<endl;
       }
    }

输出:

1    2
2    4
1    4
2    8

但是我对这种格式的输出不感兴趣,我要寻找的是在i = 1的j上的第一个for循环完成后,在i = 2的j上的for循环的输出在下面的新列中打印。

1    2    1    4
2    4    2    8

1 个答案:

答案 0 :(得分:2)

反转循环

for(int j = 1; j < 3; ++j)
{
  for(int i = 1; i < 3; ++i)
  {
    std::cout << j << "\t" << (2 * j * i) << "\t"; // No std::endl here
  }
  std::cout << std::endl;
}

此外,关于您的代码的一些建议:

  • 在可能的情况下使用预递增(++i而不是i++)。检查差异here
  • 将名称空间std保留在您的类型(std::coutstd::endl)上。您将避免很多初学者的错误。
  • 在代码中添加空格,这很清楚(std::cout << j << "\t" << (2 * i * j) << std::endlstd::cout<<j<<"\t"<<(2*i*j)<<std::endl更易于阅读)