update
This commit is contained in:
32
DEV.1.1/CM3TEST/cm3B.2.c
Normal file
32
DEV.1.1/CM3TEST/cm3B.2.c
Normal file
@@ -0,0 +1,32 @@
|
||||
#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;
|
||||
}
|
Reference in New Issue
Block a user