Programme en C probleme

Résolu/Fermé
omaflak Messages postés 27 Date d'inscription   Statut Membre Dernière intervention   -  
malaik5 Messages postés 259 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, je souhaiterai faire une petite fonction qui me renvoie comme valeur le nombre de chiffre qu'il y a dans le nombre qu'on lui a envoyer ;) ;)

Le principe de ma fonction est simple : Elle divise par 10, 100 1000 ....etc le nombre tant que la parti entière de celui ci n'est pas égale a 0.
Ainsi le nombre de chiffre sera égale au nombre de division effectuer.
voila ma fonction mais elle ne fonctionne pas ;) ;) lol ===> Elle renvoie tout le temps la valeur 10 :(

int len(int nombre)
{
int facteur=1,i=0;

while (floor(nombre/facteur)!=0)
{
i++;
facteur=pow(10,i);
}
return i;
}

1 réponse

  1. malaik5 Messages postés 259 Date d'inscription   Statut Membre Dernière intervention   33
     
    Bonjour,
    Je te propose d'utiliser une fonction qui te fais deux choses :
    1- convertir ton nombre en chaine de caractère.
    2- voir la taille de la chaine obtenue.

    En c ça donne ça a peu près :

    #include <string.h>
    #include <stdlib.h>
    int n, i;
    char s[255];

    s = ITOA(250000); // ou ici tu mets ton nombre

    i = strlen(s);

    return (i);
    0