我用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
答案 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::cout
,std::endl
)上。您将避免很多初学者的错误。std::cout << j << "\t" << (2 * i * j) << std::endl
比std::cout<<j<<"\t"<<(2*i*j)<<std::endl
更易于阅读)