c语言编写一个程序,计算数组中所有元素的累计和,并将结果存储在一个新数组中
时间: 2024-10-19 13:15:57 浏览: 27
在C语言中,你可以使用循环结构(如for、while等)来遍历数组,累加每个元素的值,并将结果存入一个新的数组。下面是一个简单的示例,假设我们有一个整型数组`arr[]`,长度为`n`:
```c
#include <stdio.h>
// 定义函数来计算并返回累计和的新数组
int* cumulative_sum(int arr[], int n) {
int *sum_array = (int*)malloc((n+1) * sizeof(int)); // 为新数组分配内存,包括最后一个0
sum_array[0] = 0; // 新数组的第一个元素初始化为0
for (int i = 1; i <= n; i++) {
sum_array[i] = sum_array[i - 1] + arr[i - 1]; // 累加当前元素到累计和
}
return sum_array;
}
int main() {
int arr[] = {1, 2, 3, 4, 5}; // 示例数组
int n = sizeof(arr) / sizeof(arr[0]); // 获取数组长度
int *result = cumulative_sum(arr, n);
printf("累计和的新数组: ");
for (int i = 0; i <= n; i++) {
printf("%d ", result[i]);
}
printf("\n");
free(result); // 释放动态分配的内存
return 0;
}
```
这个程序首先创建了一个新的数组`sum_array`,然后通过遍历原数组,逐个将元素累加到新数组中。最后,主函数打印出新数组的内容。
阅读全文