无论我怎么看这个问题,我都会得到10的答案。当我运行程序时,答案给了我20.我迷失了应该如何解决这个问题。任何人都可以帮我详细一点吗?谢谢! PS。 c ++中的第一个编程类。
int n = 0;
for (int i = 1; i <= 5; i++)
for (int j = 0; j < i; j++)
n = n + j;
答案 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
0
将n
添加到n == 0
,i == 2
。
当0
1
和n
添加到n == 0 + 0 + 1 == 1
时,i == 3
。
当您0
1
时,2
,n
添加到n == 1 + 0 + 1 + 2 == 4
,i == 4
。
当您0
1
时,2
,3
,n
添加到n == 4 + 0 + 1 + 2 + 3 == 10
,i == 5
。
当您0
1
,2
,3
,4
,n
添加到n = 10 + 0 + 1 + 2 + 3 + 4 == 20
时,10
10
1}}
如果你只有10,你要么错过了外循环的最后一次迭代(因为cmdkey /add:server01 /user:<username> /pass:<password>
是4次迭代后的结果),或者你忘记了你正在添加你在之前累积的内容迭代(因为最后一次迭代将mstsc /v:server01
添加到总数中。)