现在我需要编写一个程序,在数组的偶数索引处添加元素(索引:0,2,4,6等)。我写了代码,它看起来很合理,但由于某种原因,我得不到正确的结果。任何想法/提示都表示赞赏,因为我知道这是我想念的小事。谢谢大家!
#include <iostream>
int main() {
int i;
int arr[] = {1,3,2,4,5,6,2};
int size = 7;
int sum = 0;
//For loop to loop through the array
for(i = 0; i < size; i++) {
//If the index modulus 2 is 0 (even number) add that number to the sum
if(arr[i] %2 ==0){
sum += arr[i];
}
}
//Printing out the sum of the even indexes elements
printf("%d",sum);
}
答案 0 :(得分:3)
if条件应该使用i
而不是arr[i]
,因为你甚至想要索引甚至不是值
答案 1 :(得分:1)
代码中数组的索引仅为i
。您正在获取存储在数组的i
元素中的值的模数。
尝试:
if(i % 2 == 0) {
答案 2 :(得分:0)
如果您写arr[i]
,则表示您要处理数组i
中arr[]
位置上的元素。例如,如果您说arr[0]
(对于i = 0),则表示1
的值为array
。 index
值如i
中所述。因此,如果您想使用index
,请仅使用i
,不,arr[i]
。要检查index
是否均匀,您可以按照以下方式执行此操作:
if(i % 2 == 0)