Files
DEV/DEV.1.1/CM3TEST/cm3B.2.c

33 lines
946 B
C
Raw Normal View History

2025-01-21 12:41:42 +01:00
#include <stdio.h>
#include <stdlib.h>
/* Fonction récursive pour calculer le nombre de chiffres */
int nombre_de_chiffres(unsigned int n) {
/* Cas de base : un seul chiffre */
if (n < 10) {
return 1;
}
/* Appel récursif avec la division par 10 */
return 1 + nombre_de_chiffres(n / 10);
}
/* Fonction principale pour tester */
int main(void) {
/* Cas de test */
unsigned int valeurs[] = {0, 999, 10000};
int resultats_attendus[] = {1, 3, 5};
int i, resultat;
printf("Test de la fonction nombre_de_chiffres:\n");
for (i = 0; i < 3; i++) {
resultat = nombre_de_chiffres(valeurs[i]);
printf("Nombre de chiffres de %u : %d (Attendu : %d)\n",
valeurs[i], resultat, resultats_attendus[i]);
if (resultat != resultats_attendus[i]) {
printf("Erreur : le résultat est incorrect pour %u\n", valeurs[i]);
}
}
return EXIT_SUCCESS;
}