Проверка на палиндром в C

CCBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии мы научимся писать программу на C для проверки, является ли число палиндромом. Мы выполним это, следуя следующим шагам.

Примечание: вам нужно самостоятельно создать файл ~/project/main.c, чтобы практиковаться в написании кода и узнать, как компилировать и запускать его с использованием gcc.

cd ~/project
## создать main.c
touch main.c
## скомпилировать main.c
gcc main.c -o main
## запустить main
./main

Понимание палиндрома

Палиндром — это число или строка, которая читается одинаково слева направо и справа налево. Например: 121 или "racecar".

Инициализация переменных

Начнем с инициализации необходимых переменных для программы. В данной программе мы использовали четыре переменные: a, b, c, s. Мы будем использовать эти переменные для выполнения необходимых операций.

#include<stdio.h>

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

Переворачивание числа

Мы переворачиваем число, чтобы сравнить его с исходным числом и проверить, является ли оно палиндромом. Мы используем цикл while для переворачивания числа.

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);
}

Полный код

Вот полный код программы:

#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;
}

Резюме

В этом практическом занятии мы научились писать программу на C для проверки, является ли число палиндромом. Мы узнали логику проверки палиндромов и реализовали ее в программе. Теперь мы лучше понимаем этот концепт и можем его реализовать в более сложных программах.