Verificação de Palíndromos em C

CBeginner
Pratique Agora

Introdução

Neste laboratório, aprenderemos a escrever um programa em C para verificar se um número é um palíndromo ou não. Concluiremos isso seguindo os passos fornecidos.

Nota: Você precisa criar o arquivo ~/project/main.c por conta própria para praticar a codificação e aprender como compilar e executá-lo usando o gcc.

cd ~/project
## create main.c
touch main.c
## compile main.c
gcc main.c -o main
## run main
./main

Entendendo Palíndromos

Um palíndromo (Palindrome) é um número ou uma string que, quando lida da frente para trás e de trás para frente, é a mesma. Por exemplo: 121 ou "racecar".

Inicializando Variáveis

Começamos inicializando as variáveis necessárias para o programa. No programa fornecido, usamos três variáveis, a, b, c, s. Usaremos essas variáveis para realizar as operações necessárias.

#include<stdio.h>

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

Invertendo o Número

Invertemos o número para que ele possa ser comparado com o número original para verificar se é um palíndromo ou não. Usamos um loop while para inverter o número.

while(a > 0)
{
    b = a % 10; //extract last digit
    s = (s * 10) + b; //add the last digit to the reversed number
    a = a / 10; //remove the last digit from the original number
}

Comparando o número original com o número invertido

Finalmente, comparamos o número invertido com o número original para verificar se é um palíndromo ou não.

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

Código Completo

Aqui está o código completo do 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;
}

Resumo

Neste laboratório, aprendemos a escrever um programa em C para verificar se um número é um palíndromo ou não. Aprendemos a lógica por trás da verificação de palíndromos e a implementamos no programa. Agora temos uma melhor compreensão deste conceito e podemos implementá-lo em programas mais complexos.