gpt4 book ai didi

C 在 for 循环上的基本交互

转载 作者:太空宇宙 更新时间:2023-11-04 00:53:31 25 4
gpt4 key购买 nike

我正在做一个关于循环的练习并且有疑问。

我有一个 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;
}

这是正确的方法吗?

最佳答案

我会这样做:

 for(i=0, j= arraySize-1; i <= j; i++,j--){
sum += array[i];
if(i!=j){ sum+= array[j]; }
}

关于C 在 for 循环上的基本交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10513839/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com