7 votes

Compter les chiffres à l'aide de la boucle while

J'ai récemment créé un programme qui devait vérifier le nombre de chiffres d'un nombre entré par l'utilisateur. En conséquence, j'ai créé le code suivant :

int x;    
cout << "Enter a number: ";
cin >> x;
x /= 10;
while(x > 0)
{
  count++;
  x = x/10;
}

D'après ce que je peux dire (même avec mon expérience limitée), cela semble grossier et plutôt inélégant.

Quelqu'un a-t-il une idée sur la façon d'améliorer ce code (tout en n'utilisant pas une fonction c++ intégrée) ?

0voto

reza Points 1
#include<iostream>
using namespace std;
int main()
{
int count=0;
    double x;
    cout << "Enter a number: ";
    cin >> x;
    x /= 10;
    while(x > 1)
    {
      count++;
      x = x/10;
    }
    cout<<count+1;
}

-1voto

Lyke Points 1374

En dehors des suggestions de lecture du nombre sous forme de chaîne, votre méthode actuelle de comptage du nombre de chiffres décimaux significatifs est parfaite. Vous pourriez la rendre plus courte, mais elle pourrait sans doute être moins claire (ajout d'une série de parenthèses supplémentaires pour éviter que gcc n'émette des avertissements) :

while((x = x/10))
  count++;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X