#include <stdio.h>

double recursiveSum(const double array[], int size) {
    /* Cas de base : tableau de taille 1*/
    if (size == 1) {
        return array[0];
    }

    /* Appel récursif : somme du premier élément et du reste du tableau*/
    return array[0] + recursiveSum(array + 1, size - 1);
}

int main() {
    /* Test 1 : tableau de 5 éléments*/
    double array1[] = {1.5, 2.5, 3.5, 4.5, 5.5};
    double array2[1] = {10.0};
    double array3[4] = {2.0, 4.0, 6.0, 8.0};
    int size1 = sizeof(array1) / sizeof(array1[0]);
    int size2, size3;
    printf("Somme du tableau 1 : %.2f\n", recursiveSum(array1, size1));

    /* Test 2 : tableau de 1 élément*/
    size2 = sizeof(array2) / sizeof(array2[0]);
    printf("Somme du tableau 2 : %.2f\n", recursiveSum(array2, size2));

    /* Test 3 : tableau de 4 éléments, mais considéré de taille 3*/
    size3 = 3;
    printf("Somme du tableau 3 : %.2f\n", recursiveSum(array3, size3));

    return 0;
}
