不要在心理上理解这个内循环是如何工作的

时间:2018-01-28 07:09:04

标签: c++

我知道输出,但我无法理解如何增加“*”。
这是代码:

#include <iostream>
using namespace std;
int main()
{
    int i,j,rows;
    cout<<"Enter the number of rows: ";
    cin>>rows;
    for(i=1;i<=rows;++i)
    {
        for(j=1;j<=i;++j)
        {
           cout<<"* ";
        }
        cout<<"\n";
    }
    return 0;
}

如果你让我理解这个内循环,我会很高兴,我知道外面会打印一个新行,我的问题:这个内循环如何增加星星?

2 个答案:

答案 0 :(得分:1)

假设rows值为5,表示outer loop将轮换5次。

for(i=1;i<=rows;++i) /** 1<=5 , 2<=5 .. 5<=5 **/

内圈为for(j=1;j<=i;++j),对于每个i值,它将从1旋转到i

i = 1:内循环条件为

  • 1<=1 =&gt; 1次打印*并打印\n并移回外圈

i = 2:内循环条件为

  • 1<=2 =&gt;打印*
  • 2<=2 =&gt;打印*并打印\n并移回外循环

i = 3:内循环条件为

  • 1<=3 =&gt;打印*

  • 2<=3 =&gt;打印*

  • 3<=3 =&gt;打印*并打印\n并移回外循环等等。

我的建议是在为控制台编写程序之前做一些文书工作。

答案 1 :(得分:0)

如果我们输入rows == 5,那么我将从1迭代到5。 然后在每个内环中,j将从1迭代到i,因此1-> 1,1-> 2,1-> 3,1-> 4,4-> 5。 这样就可以得到你的输出。