w3resource

C Exercises: Check whether an integer is a palindrome or not

C Programming Mathematics: Exercise-2 with Solution

Write a C program to check whether an integer is a palindrome or not. An integer is a palindrome when it reads the same forward as backward.

Example:
Input:
i = 1221
i = -121
i = 100
Output:
Is Palindrome: 1
Is Palindrome: 0
Is Palindrome: 0

Visual Presentation:

C Exercises: Check  whether an integer is a palindrome or not

Sample Solution:

C Code:

#include <stdio.h>
#include <stdbool.h>

// Function to check if a number is a palindrome
bool is_Palindrome(int i) {
    int n, d, y = 0;

    // Check if the number is negative; negative numbers cannot be palindromes
    if (i < 0) 
        return false;

    n = i;
    // Reverse the number and compare it with the original number
    while (n) {
        d = n % 10;

        // Check for potential overflow
        if (y > (0x7fffffff - d) / 10) 
            return false;   // Return false if overflow is detected

        y = y * 10 + d;  // Reverse the number
        n = n / 10;      // Move to the next digit
    }

    return (y == i);  // Return true if the reversed number is equal to the original number
}

int main(void)
{
    int i = 1221;
    printf("Original integer: %d  ", i);
    printf("\nIs Palindrome: %d  ", is_Palindrome(i));

    i = -121;
    printf("\nOriginal integer: %d  ", i);
    printf("\nIs Palindrome: %d  ", is_Palindrome(i));

    i = 100;
    printf("\nOriginal integer: %d  ", i);
    printf("\nIs Palindrome: %d  ", is_Palindrome(i));

    return 0;
}

Sample Output:

Original integer: 1221  
Is Palindrome: 1  
Original integer: -121  
Is Palindrome: 0  
Original integer: 100  
Is Palindrome: 0  

Flowchart:

Flowchart: Check whether an integer is a palindrome or not

C Programming Code Editor:

Improve this sample solution and post your code through Disqus.

Previous: Write a C program to reverse the digits of a given integer
Next: Write a C program to divide two integers (dividend and divisor) without using multiplication, division and mod operator.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.