我想收到一个数组的运行总和,'数组'。但是,我很难尝试创建一个可以遍历此数组并通过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]);
}
}
答案 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
。