循环和数组混淆:计数器变量

loop and array confusion: counter variable?

本文关键字:计数器 变量 数组 循环      更新时间:2023-10-16

以下循环完成后total的值是多少?

int a[ ] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};

int total = 0;
for (int i = 0; i < 10; i++) { total = total + a[i];}

b。

int total = 0;
for (int i = 0; i < 10; i=i+2) { total = total + a[i];}

c。

int total = 0;
for (int i = 1; i < 10; i=i+2) { total = total + a[i];}

d。

int total = 0;
for (int i = 2; i <= 10; i++) { total = total + a[i];}

e。

int total = 0;
for (int i = 0; i < 10; i=2 * i) { total = total + a[i];}

f。

int total = 0;
for (int i = 9; i >= 0; i--) { total = total + a[i];}

g。

int total = 0;
for (int i = 9; i >= 0; i=i - 2) { total = total + a[i];}

h。

int total = 0;
for (int i = 0; i < 10; i++) { total = a[i] – total;}

寻找一个解释你是如何得到其中一个的总数的。我需要理解它,为我自己去做。

当我在程序中插入a时,我得到了45,但是为什么?我如何手动添加这个?a. 1+2+3+4+5+6+7+8+9 ?我的意思是它等于45,但是对于b。我不明白i=i+2是什么意思!我认为这意味着循环完成,然后是i=2(是i=0),第三次是i=4,以此类推,当然它会一直持续到i=8,因为再加2个将是10,循环将在那一点退出。

请有人解释一下。我期待着学习,而不仅仅是得到答案。我不明白他们要我做什么

让我们从第一个开始,我将让您自己尝试其他的。

int a[ ] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};

这是你的主数组。你可以把它想象成一个有10个槽的列表。0号槽位存储1。槽位1存储2。在槽位10中存储0。重要的是要记住数组从0开始,而不是1。

如果你想要数组槽号为5的内容,你可以这样写:

a[5];
例如:

int sum = a[5];

现在sum等于数组槽5中的值。现在,如果你写:

int sum = a[5] + a[2];

结果是sum = 9。

for循环是这样构建的:

for(int i = 0; i < 10; i++)

首先将I初始化为0。

int i = 0;

然后循环括号内的内容直到

i < 10;

是不正确的

i++

只是在每次循环迭代时给i加1。

那么,回到第一种情况。

int a[ ] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
int total = 0;
for (int i = 0; i < 10; i++)
{ 
    total = total + a[i];
}

在第一次迭代中,i = 0。

total = total + a[0];

等于1。在第二次迭代中,i = 1

total = total + a[1];

total已经是1。所以它是1 +(数组的第二个槽是多少)也就是2。1+2 = 3.

total = total + a[2];

total已经是3。所以它是3 +(数组的第三个槽是多少)也就是3。3+3 = 6.

数组从0开始,这一点很重要。

我希望你能自己做剩下的,如果你不能,我可以帮助你!

有一个循环,for (int i = 0;我& lt;10;我+ +)

这意味着我将从0开始,一直到9…也就是I <10(小于10)

在循环中添加…Total = Total + a[i]

你要添加的是数组中的值…Int a[] = {1,2,3,4,5,6,7,8,9,0};

所以对于a,你要把它们加起来…包括数组中的最后一个值0.

a[0] = 1A [1] = 2等。

在第二个例子中,for (int i = 0;我& lt;10;我= + 2)

这意味着循环值i将从0开始,然后是2,4,6等等,所以你将添加a[0], a[2], a[4]等等,直到a[8]

在更复杂的例子中,循环的起始值不同…

for (int I = 2;I <= 10;我+ +)……这将从2开始,而不是0…并且还将包括10,因为你有一个"小于或等于"而不是一个"小于"。

在其他循环中,你有i-…这意味着在循环中I的值将减少1而不是增加1。

希望这足以让你继续下去?