循环和数组混淆:计数器变量
loop and array confusion: counter variable?
以下循环完成后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。
希望这足以让你继续下去?
- 如何创建一个CMake变量,除非显式重写,否则使用默认值
- 将成员变量添加到共享库中的类中,不会破坏二进制兼容性吗
- 将数组的地址分配给变量并删除
- 为"adjacent"变量赋值时出现问题
- enum是C++中的宏变量还是整数变量
- 在全局变量中保存类的实例以重新创建类(创建"backup")
- C++ 在循环中添加计数器变量并再次初始化其值
- C++计数器变量无法正常工作
- OPENCL计数器变量
- 意外的静态计数器变量行为
- 声明中的限定 ID 在"="令牌/对象计数器变量之前
- 为什么它不是一个不确定的循环,因为循环计数器在整数变量的范围之外
- 静态变量如何以及如何将其用作计数器
- 计数器变量错误
- 为什么只有一个锁和一个原子计数器的条件变量会错误地唤醒
- 如何将计数器变量从一个函数传递到main函数
- for循环需要运行LLONG_MAX次数,但是计数器变量也需要表示有符号的数字.你用什么类型的柜台?
- 双变量作为循环计数器
- 在循环中使用"double"作为计数器变量
- 循环和数组混淆:计数器变量