编辑代码

#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;
}