我正在对循环进行练习并且有疑问。
我有一个数组,ints
并且想要遍历这个数组以获取sum
数组元素。必须完成此迭代,在每次传递中,将第一个元素和最后一个元素相加,在第二次迭代中,将第二个元素和最后一个元素相加减去 1,依此类推。
如果我有一个包含偶数个元素的数组,我会这样做:
int main(){
int i,sum=0,arraySize=10;
int array[] = {1,2,3,4,4,4,7,8,9,10};
for (i=0;i <arraySize/2;i++){
sum+=array[i] + array[arraySize-i-1];
}
printf("The sum is %d\n", sum);
return 0;
}
但如果我有一个奇数,我会这样做:
int main(){
int i,sum=0,arraySize=11;
int array[] = {1,2,3,4,4,4,7,8,9,10,11};
for (i=0;i <(arraySize/2)+0.5;i++){
if (i != (arraySize/2)){
sum+=array[i] + array[arraySize-i-1];
}
else{
sum+=array[i];
}
}
printf("The sum is %d\n", sum);
return 0;
}
这是正确的方法吗?