Les chiffres d'un int
mikegamer1
Messages postés
40
Date d'inscription
Statut
Membre
Dernière intervention
-
Dalfab Messages postés 706 Date d'inscription Statut Membre Dernière intervention -
Dalfab Messages postés 706 Date d'inscription Statut Membre Dernière intervention -
Salut les amis!
SVP aidez moi j'ai un problème!
Je m'exerçais quand j'ai rencontré un exercice en C où on demande d'afficher les premier et dernier chiffres d'un nombre saisi par l'utilisateur.
Par exemple:
-si nbre=45098,
premier_chiffre=4 et dernier_chiffre=8
-si nbre=16,700
premier_chiffre=1 et dernier_chiffre=7.
Mais depuis peu j'y passe tout mon temps et j'y arrive pas. Si quelqu'un pourrait m'éclairer cela me ferai beaucoup plaisir.
SVP aidez moi j'ai un problème!
Je m'exerçais quand j'ai rencontré un exercice en C où on demande d'afficher les premier et dernier chiffres d'un nombre saisi par l'utilisateur.
Par exemple:
-si nbre=45098,
premier_chiffre=4 et dernier_chiffre=8
-si nbre=16,700
premier_chiffre=1 et dernier_chiffre=7.
Mais depuis peu j'y passe tout mon temps et j'y arrive pas. Si quelqu'un pourrait m'éclairer cela me ferai beaucoup plaisir.
A voir également:
- Les chiffres d'un int
- Comment activer les chiffres du clavier - Guide
- Comment garder le 0 devant les chiffres sur excel - Guide
- Application pour écrire les chiffre en lettre - Télécharger - Outils professionnels
- PC portable écrit chiffre à la place des lettres ✓ - Forum PC portable
- Combien de possibilités pour un code à 3 chiffres - Forum loisirs/vie pratique
2 réponses
Bonjour,
Au vu de tes exemples, tu ne peux pas t'aider des maths, car 16700 donne 7 en dernier chiffre c'est arbitraire.
Le plus simple ici serait de convertir ton nombre en chaîne de caractères (avec
Tu devras alors faire une boucle sur chaque caractère pour obtenir les chiffres que tu souhaites.
Au vu de tes exemples, tu ne peux pas t'aider des maths, car 16700 donne 7 en dernier chiffre c'est arbitraire.
Le plus simple ici serait de convertir ton nombre en chaîne de caractères (avec
sprintfpar exemple).
Tu devras alors faire une boucle sur chaque caractère pour obtenir les chiffres que tu souhaites.
mikegamer1
Messages postés
40
Date d'inscription
Statut
Membre
Dernière intervention
Désolé je voulais mettre 16,7000
mikegamer1
Messages postés
40
Date d'inscription
Statut
Membre
Dernière intervention
Merci cela semble une bonne idée.
Bonjour,
Le premier chiffre est :
Le dernier chiffre est :
Pour le cas 16,7000 je n'ai pas de solution car en C les nombres sont stockées en binaire et le nombre
Si on veut le dernier chiffre non nul qui donnerait 7 pour 167000, on peut faire
Le premier chiffre est :
int premier = n; while ( premier >= 10 ) premier /= 10;.
Le dernier chiffre est :
int dernier = n % 10;.
Pour le cas 16,7000 je n'ai pas de solution car en C les nombres sont stockées en binaire et le nombre
floatle plus proche de 16,7000 est 16.700000762939453125, le dernier chiffre serait donc 5.
Si on veut le dernier chiffre non nul qui donnerait 7 pour 167000, on peut faire
int inn = n; int dernierNonNul = n % 10; while ( dernierNonNul == 0 && n != 0 ) { inn /= 10; dernierNonNul = inn % 10; }