使用循环从数组中的元素中查找累积和?

时间:2018-05-10 13:11:13

标签: c arrays loops sum

我想收到一个数组的运行总和,'数组'。但是,我很难尝试创建一个可以遍历此数组并通过Array中的值添加的for循环。任何想法都将不胜感激。

#include <stdio.h>

void cSum (int Array[], int length);

int main (void) {

    int Array[5]={1,-1,92,5,432};
    int length=5;

    printSum(Array, length);
}

void cSum (int Array[], int length) {

    int i; 
    int sum[length]; 
    int running=0; 
    int product[length]; 

    for (i=0; i<length; i++) {
         //Difficulty trying to get the cummulative sum
        sum[i]=Array[i];
        running=running+1
    }

    printf("sum: ");
    for (i=0; i<length; i++) {
        printf("%d ", sum[i]);
    }
}

1 个答案:

答案 0 :(得分:1)

一种简单的方法是设置sum的第一个元素,然后继续循环中的其余元素:

sum[0] = array[0];
for (i = 1; i < length; ++i){
    sum[i] = sum[i - 1] + array[i];
}

我冒昧地将Array重命名为不那么特殊的array。考虑使用size_t类型作为索引变量i而不是int