Module: Instrucción de bucle con condición - while


Problem

6/20

dígitos del número

Theory Click to read/hide

Intentemos escribir un programa para resolver el siguiente problema: necesitas ingresar un número y determine el número de dígitos que contiene.

Idea de solución.
Solo necesitamos cortar secuencialmente el último dígito del número (esto se puede hacer reduciendo el número 10 veces, usando la división de enteros por 10), y cada vez que necesitamos aumentar el contador. 
Como resultado, después de cortar todos los números, el contador almacenará la cantidad de dígitos del número.
De otra forma, el algoritmo se puede formular de la siguiente manera: mientras el número no sea igual a cero, disminuirlo 10 veces y aumentar el contador en 1.

El programa se verá así: ... vacío estático principal () { int n = Convert.ToInt32(Console.ReadLine()); conteo int = 0; mientras (n != 0) { contar++; n = n/10; } } Es necesario conocer y comprender bien este programa, ya que muchas otras tareas relacionadas con el cálculo por dígitos de un número.

Problem

Ejecute el programa. 
Mire el resultado de su trabajo. ¿Está todo bien en la frase de salida? Piense en cómo puede solucionar este defecto.
número (n) contador
123 0
12 1
1 2
0 3
1
using System;   
2
class Program {   
3
    static void Main() {   
4
        int n = Convert.ToInt32(Console.ReadLine());   
5
        int count = 0;   
6
        while (n != 0) {   
7
            n /= 10; // краткая запись n = n / 10   
8
            count++;   
9
        }   
10
        Console.WriteLine(n + " contains " + count + " digits");   
11
    }   
12
}   

     

Program check result

To check the solution of the problem, you need to register or log in!