﻿ C Program: Check whether an integer is a palindrome or not - 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:

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:

C Programming Code Editor:

Improve this sample solution and post your code through Disqus.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.

﻿