在c ++中嵌套for()

时间:2017-10-07 06:37:57

标签: c++ loops for-loop

无论我怎么看这个问题,我都会得到10的答案。当我运行程序时,答案给了我20.我迷失了应该如何解决这个问题。任何人都可以帮我详细一点吗?谢谢! PS。 c ++中的第一个编程类。

int n = 0;

for (int i = 1; i <= 5; i++)
   for (int j = 0; j < i; j++)
      n = n + j;

2 个答案:

答案 0 :(得分:2)

让我们在i的每次迭代后看到n。 n = n +的总和值+ 0到i-1的总和;

i=1 , n= 0
i=2 , n= 0+0+1=1
i=3, n= 1+0+1+2 =4
i=4, n= 4+0+1+2+3=10
i=5, n= 10+0+1+2+3+4 =20

答案 1 :(得分:2)

i == 1 0n添加到n == 0i == 2

0 1n添加到n == 0 + 0 + 1 == 1时,i == 3

当您0 1时,2n添加到n == 1 + 0 + 1 + 2 == 4i == 4

当您0 1时,23n添加到n == 4 + 0 + 1 + 2 + 3 == 10i == 5

当您0 1234n添加到n = 10 + 0 + 1 + 2 + 3 + 4 == 20时,10 10 1}}

如果你只有10,你要么错过了外循环的最后一次迭代(因为cmdkey /add:server01 /user:<username> /pass:<password>是4次迭代后的结果),或者你忘记了你正在添加你在之前累积的内容迭代(因为最后一次迭代将mstsc /v:server01添加到总数中。)