C Program to Check Whether a Number is Palindrome or Not

1. Introduction

A palindrome is a number or a word that remains unchanged when its characters are reversed. For instance, 121 and 1331 are palindromic numbers. In this post, we'll write a C program to check if a given number is a palindrome.

2. Program Overview

1. Take input from the user.

2. Reverse the number.

3. Compare the original and the reversed number.

4. Display whether the number is a palindrome or not.

3. Code Program

#include <stdio.h>

int main() {
    int n, reversed = 0, remainder, original;

    // Ask the user for input
    printf("Enter an integer: ");
    scanf("%d", &n);

    original = n;

    // Reversing the number
    while (n != 0) {
        remainder = n % 10;
        reversed = reversed * 10 + remainder;
        n /= 10;
    }

    // Checking if the original number is equal to its reverse
    if (original == reversed)
        printf("%d is a palindrome.", original);
    else
        printf("%d is not a palindrome.", original);

    return 0;
}

Output:

Enter an integer: 121
121 is a palindrome.

4. Step By Step Explanation

1. We start by taking an integer input from the user and store it in variable n.

2. We'll reverse this number. To do this, we repeatedly divide the number by 10 to get the last digit (remainder). We construct the reversed number by multiplying the current reversed value by 10 and adding the remainder.

3. Once the number is reversed, we check if the original number matches the reversed number.

4. If they match, the number is a palindrome; otherwise, it isn't.

Comments