Comprobación de palíndromos en C

CCBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderemos a escribir un programa en C para comprobar si un número es un palíndromo o no. Lo haremos siguiendo los pasos dados.

Nota: Tienes que crear el archivo ~/project/main.c tú mismo para practicar la codificación y aprender a compilar y ejecutarlo con gcc.

cd ~/project
## crear main.c
touch main.c
## compilar main.c
gcc main.c -o main
## ejecutar main
./main

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("C")) -.-> c/UserInteractionGroup(["User Interaction"]) c(("C")) -.-> c/BasicsGroup(["Basics"]) c(("C")) -.-> c/ControlFlowGroup(["Control Flow"]) c(("C")) -.-> c/CompoundTypesGroup(["Compound Types"]) c/BasicsGroup -.-> c/variables("Variables") c/BasicsGroup -.-> c/operators("Operators") c/ControlFlowGroup -.-> c/if_else("If...Else") c/ControlFlowGroup -.-> c/while_loop("While Loop") c/CompoundTypesGroup -.-> c/strings("Strings") c/UserInteractionGroup -.-> c/user_input("User Input") c/UserInteractionGroup -.-> c/output("Output") subgraph Lab Skills c/variables -.-> lab-123295{{"Comprobación de palíndromos en C"}} c/operators -.-> lab-123295{{"Comprobación de palíndromos en C"}} c/if_else -.-> lab-123295{{"Comprobación de palíndromos en C"}} c/while_loop -.-> lab-123295{{"Comprobación de palíndromos en C"}} c/strings -.-> lab-123295{{"Comprobación de palíndromos en C"}} c/user_input -.-> lab-123295{{"Comprobación de palíndromos en C"}} c/output -.-> lab-123295{{"Comprobación de palíndromos en C"}} end

Comprendiendo el palíndromo

Palíndromo es un número o una cadena que, cuando se lee desde el principio y desde el final, se lee igual. Por ejemplo: 121 o "racecar".

Inicializando variables

Comenzamos inicializando las variables necesarias para el programa. En el programa dado, hemos utilizado cuatro variables, a, b, c, s. Vamos a utilizar estas variables para realizar las operaciones necesarias.

#include<stdio.h>

int main()
{
    int a, b, c, s = 0;
    printf("Enter a number: ");
    scanf("%d", &a);
    c = a;
}

Invirtiendo el número

Invertimos el número para poder compararlo con el número original y comprobar si es un palíndromo o no. Utilizamos un bucle while para invertir el número.

while(a > 0)
{
    b = a % 10; //extraer el último dígito
    s = (s * 10) + b; //agregar el último dígito al número invertido
    a = a / 10; //eliminar el último dígito del número original
}

Comparando el número original con el número invertido

Finalmente, comparamos el número invertido con el número original para comprobar si es un palíndromo o no.

if(s == c)
{
    printf("%d is a Palindrome", c);
}
else
{
    printf("%d is not a Palindrome", c);
}

Código completo

Aquí está el código completo del programa:

#include<stdio.h>

int main()
{
    int a, b, c, s = 0;

    printf("Enter a number: ");
    scanf("%d", &a);
    c = a;

    while(a > 0)
    {
        b = a % 10;
        s = (s * 10) + b;
        a = a / 10;
    }

    if(s == c)
    {
        printf("%d is a Palindrome", c);
    }
    else
    {
        printf("%d is not a Palindrome", c);
    }

    return 0;
}

Resumen

En este laboratorio, hemos aprendido a escribir un programa en C para comprobar si un número es un palíndromo o no. Hemos aprendido la lógica detrás de la comprobación de palíndromos y la hemos implementado en el programa. Ahora tenemos una mejor comprensión de este concepto y podemos implementarlo en programas más complejos.