viernes, 29 de mayo de 2026

Capturar por teclado un número capicúa positivo menor que 1000 y hallar su centenas, decenas y unidades e imprimirlas por pantalla en C Sharp

Código del ejercicio:

int numero;
do
{
    Console.Write("Ingrese un número positivo menor que 1000: ");
    numero = int.Parse(Console.ReadLine());
} while (numero > 999);
int digito = 0, invertir = 0, aux = numero, unidad, decena, centena;
while (numero > 0)
{
    digito = numero % 10;
    invertir = (invertir * 10) + digito;
    numero = (numero - digito) / 10;
}
centena = invertir / 100;
decena = (invertir - (centena * 100)) / 10;
unidad = (invertir - (centena * 100 + decena * 10));
if (invertir == aux)
{
    Console.WriteLine(invertir + " es un número capicúa.");
    Console.WriteLine("La centena es: " + centena);
    Console.WriteLine("La decena es: " + decena);
    Console.WriteLine("La unidad es: " + unidad);
}
else
{
    Console.Write("No es capicúa.");
}
Console.ReadKey();

Definición de los códigos del ejercicio:

Console.Write() --> escribe un texto en pantalla.
int --> dato entero de 32 bits.
Parse() --> se utiliza para convertir una representación de cadena de un número en un entero equivalente con signo de 16/32/64 bits.
Console.ReadLine() --> lee un dato desde teclado.
do while --> este ciclo ejecutará el bloque de código una vez, antes de verificar si la condición es verdadera, luego repetirá el ciclo mientras la condición sea verdadera.
while --> el ciclo while recorre un bloque de código siempre que una condición específica sea verdadera.
> --> el operador mayor que ( > ) devuelve true si el operando izquierdo es mayor que el operando derecho.
% --> el operador de modulo ( % ) devuelve el resto de la división.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
else --> use else para especificar un bloque de código a ejecutar, si la misma condición es falsa.
Console.WriteLine() --> escribe un texto en pantalla y avanza de línea.
+ --> el operador ( + ) concatena variables de cadena.
Console.ReadKey() --> escribimos el método Console.ReadKey() al final de nuestro código para mantener abierta la ventana de nuestra consola.

Explicación del Código:

¿Qué hace el programa?

Este programa solicita al usuario ingresar un número positivo menor que 1000. Luego verifica si el número es capicúa, es decir, si se lee igual de izquierda a derecha y de derecha a izquierda.

Si el número es capicúa, el programa muestra:

  • La centena.
  • La decena.
  • La unidad.

Código del Programa

int numero;

do
{
    Console.Write("Ingrese un número positivo menor que 1000: ");
    numero = int.Parse(Console.ReadLine());

} while (numero > 999);

int digito = 0, invertir = 0, aux = numero, unidad, decena, centena;

while (numero > 0)
{
    digito = numero % 10;
    invertir = (invertir * 10) + digito;
    numero = (numero - digito) / 10;
}

centena = invertir / 100;

decena = (invertir - (centena * 100)) / 10;

unidad = (invertir - (centena * 100 + decena * 10));

if (invertir == aux)
{
    Console.WriteLine(invertir + " es un número capicúa.");

    Console.WriteLine("La centena es: " + centena);

    Console.WriteLine("La decena es: " + decena);

    Console.WriteLine("La unidad es: " + unidad);
}
else
{
    Console.Write("No es capicúa.");
}

Console.ReadKey();

Explicación de Cada Parte del Código

1. Declaración de la variable: Se crea la variable numero para almacenar el número ingresado por el usuario.

int numero;

2. Validación del número: El ciclo do while obliga al usuario a ingresar un número menor que 1000.

do
{
    Console.Write("Ingrese un número positivo menor que 1000: ");
    numero = int.Parse(Console.ReadLine());

} while (numero > 999);

3. Variables auxiliares: Estas variables ayudan a invertir el número y guardar centenas, decenas y unidades.

int digito = 0, invertir = 0, aux = numero, unidad, decena, centena;
  • digito: guarda cada dígito del número.
  • invertir: almacena el número invertido.
  • aux: guarda el número original.
  • unidad: almacena la unidad.
  • decena: almacena la decena.
  • centena: almacena la centena.

4. Invertir el número: El ciclo while toma los dígitos del número y los invierte.

while (numero > 0)
{
    digito = numero % 10;

    invertir = (invertir * 10) + digito;

    numero = (numero - digito) / 10;
}

5. Obtener centenas, decenas y unidades: El programa separa cada posición del número.

centena = invertir / 100;

decena = (invertir - (centena * 100)) / 10;

unidad = (invertir - (centena * 100 + decena * 10));
  • Centena: primer dígito.
  • Decena: segundo dígito.
  • Unidad: último dígito.

6. Verificación de número capicúa: Se compara el número invertido con el número original.

if (invertir == aux)

Si ambos números son iguales, entonces el número es capicúa.

7. Mostrar resultados: Se imprimen la centena, decena y unidad.

Console.WriteLine(invertir + " es un número capicúa.");

Console.WriteLine("La centena es: " + centena);

Console.WriteLine("La decena es: " + decena);

Console.WriteLine("La unidad es: " + unidad);

8. Mensaje si no es capicúa: Si el número no cumple la condición, el programa muestra un mensaje indicando que no es capicúa.

Console.Write("No es capicúa.");

No hay comentarios.:

Publicar un comentario

Capturar por teclado un número capicúa positivo menor que 1000 y hallar su centenas, decenas y unidades e imprimirlas por pantalla en C Sharp

Código del ejercicio: int numero ; do {     Console . Write ( "Ingrese un número positivo menor que 1000: " );     n...

Copyright ©2025 Ejercicios de programación. Todos los derechos reservados. ❤️