Programme en C probleme

Résolu/Fermé
omaflak Messages postés 26 Date d'inscription jeudi 28 juin 2012 Statut Membre Dernière intervention 4 mars 2013 - Modifié par omaflak le 3/07/2012 à 10:58
malaik5 Messages postés 258 Date d'inscription vendredi 20 novembre 2009 Statut Membre Dernière intervention 28 novembre 2013 - 3 juil. 2012 à 11:47
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

malaik5 Messages postés 258 Date d'inscription vendredi 20 novembre 2009 Statut Membre Dernière intervention 28 novembre 2013 33
3 juil. 2012 à 11:47
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