Files
DEV/prepa_CM3/ex2_B.c

32 lines
972 B
C

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