Longueur d'un entier (int)

Soyez le premier à donner votre avis sur cette source.

Vue 16 845 fois - Téléchargée 118 fois

Description

Ce code permet de trouver la longueur d'un entier par exemple
la longueur de 123 est de 3
ça peut toujours servir.

Source / Exemple :


#include "stdio.h"

/*----------------------------------------
   Definition des fonctions de ce module
----------------------------------------*/
int		Longueur(int Valeur);

/*---------------------
   Debut du programme
----------------------*/
int main(int argc, char* argv[])
{
	printf("La longueur de : 156    est de %d: \n", Longueur(156));
	printf("La longueur de : -5956    est de %d: \n", Longueur(-5956));
	printf("La longueur de : 0    est de %d: \n", Longueur(0));

	return 0;
}

/*-----------------------------------
   Calcule la longueur d'un entier
-----------------------------------*/
int Longueur(int Valeur)
{
	int Retour = 0;

	if(Valeur < 0)
	{
		Retour++;
		Valeur = -1 * Valeur;
	}

	while(Valeur !=0)
	{
		Retour++;
		Valeur = Valeur / 10;
	}

	return Retour;
}

Conclusion :


j'ai crée cette fonction pour mon programme de traitement de formules.

Si vous avez des commentaires n'hesitez pas.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
1
Date d'inscription
mercredi 20 avril 2005
Statut
Membre
Dernière intervention
27 février 2008

Sinon quelque chose du style conversion en chaine de caratère puis obtention de la longueur de cette chaîne (en C#, je sais plus exactement l'équivalent en C++) : Valeur.ToString().Length
Messages postés
1138
Date d'inscription
mardi 10 juin 2003
Statut
Membre
Dernière intervention
25 janvier 2009
4
Valeur = -1 * Valeur; <=> Valeur = - Valeur;
Valeur = Valeur / 10; <=> Valeur /= 10.;

#include "stdio.h", on met plutot #include <stdio.h>

Sinon je pense que c'est une source utile, pour apprendre a programmer c'est bien utile, ca change des hello world !.

Pour ce qui est de l'emploie brutale du log en base 10, il faut rappeler que log retourne un double...

Cependant on peut ecrire la fonction ainsi :

int Longueur(int Valeur)
{
char buf[50]; // au maximun un 32bits va jusqu'a 4 millions, donc envirion 8 characteres
return sprintf("%d",Valeur);
}
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
c kler que ce genre de code ca sert!
pour faire un affichage formaté d'un entier par ex
Messages postés
584
Date d'inscription
mardi 26 novembre 2002
Statut
Membre
Dernière intervention
29 mai 2015

Tu pourrais ne pas t'embeter et utiliser le log en base 10 !

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.