Nombre de chiffres d'un entier
Créez une fonction qui rend le nombre de caractères utilisés pour écrire un entier (positif ou négatif) écrit en base 10. Par exemple 42 est composé de 2 chiffres en base 10, 7 seulement d'un seul et -1 de deux.
Vous implémenterez cette fonction de 3 manières différentes. Vous ajouterez chaque fonction dans le même fichier nombre-chiffres.c
.
V1
Utilisez une boucle qui divise par 10 le nombre tant qu'il est > 10 pour coder cette fonction.
Sa signature doit être :
int nb_chiffre_v1(int i);
Testez la fonction codée avec 123456, 0 et -1.
Valeurs de test
Rangez vos trois valeurs de test (123456, 0 et -1) dans un tableau d'entiers et affichez à l'écran leurs valeurs et leurs nombre de chiffres dans une boucle for
.
V2
Utilisez la fonction log10
définie dans <math.h>
pour coder cette fonction.
int nb_chiffre_v2(int i);
V3
Attention à sprintf
, elle ne renvoie rien. Elle modifie le contenu du pointeur de chaîne de caractères placée n premier paramètre.
Il faut s'assurer d'avoir la place de stocker votre résultat soit en le déclarant soit avec un tableau soit avec un malloc
en choisissant bien la taille (nombre de caractères avec un tableau, nombre de bytes avec un malloc
), par exemple 100.
Cerise sur le gâteau
Demandez à l'utilisateur de rentrer un entier relatif (vous utiliserez la fonction scanf
) dont vous donnerez également le nombre de chiffres.