#include <stdio.h>
int recursiveSum(int arr[], int n) {
if (n == 0) {
return 0;
} else {
return arr[n-1] + recursiveSum(arr, n-1);
}
}
int iterativeSum(int arr[], int n) {
int sum = 0;
for (int i = 0; i < n; i++) {
sum += arr[i];
}
return sum;
}
int main() {
int arr1[] = {1, 2, 3, 4, 5};
int size = sizeof(arr1) / sizeof(arr1[0]);
int sum1 = recursiveSum(arr1, size);
int sum2 = iterativeSum(arr1, size);
printf("递归方法:数组累加和为:%d\n", sum1);
printf("递推方法:数组累加和为:%d\n", sum2);
int arr2[] = {5, 7, 9, 11, 13};
size = sizeof(arr2) / sizeof(arr2[0]);
sum1 = recursiveSum(arr2, size);
sum2 = iterativeSum(arr2, size);
printf("递归方法:数组累加和为:%d\n", sum1);
printf("递推方法:数组累加和为:%d\n", sum2);
int arr3[] = {-1, 2, -3, 4, -5};
size = sizeof(arr3) / sizeof(arr3[0]);
sum1 = recursiveSum(arr3, size);
sum2 = iterativeSum(arr3, size);
printf("递归方法:数组累加和为:%d\n", sum1);
printf("递推方法:数组累加和为:%d\n", sum2);
return 0;
}