#include #include /* 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; }