【问题标题】:Finding a cummulative sum from elements in an array using a loop?使用循环从数组中的元素中查找累积和?
【发布时间】:2018-05-10 13:11:12
【问题描述】:

我想收到一个数组“数组”的运行总和。但是,我很难尝试创建一个 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]);
    }
}

【问题讨论】:

    标签: c arrays loops sum


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2021-04-03
      • 2015-11-27
      • 2011-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多