# C Program to Check Whether a Number is Palindrome or Not

A palindrome number is a number whose reverse is the original number. Some examples of palindrome number are: 121, 12321, 515, etc. C program to check whether the number is palindrome or not is shown below.

### Example 1: Check Palindrome Using *while* Loop and *if...else* Statement

#include<stdio.h> int main() { int num,res=0,chk,c; printf("Enter a number \n"); scanf("%d",&num); chk=num; while (num>0) { c = num % 10; res = res*10+c; num = num/10; } if (chk == res) printf("\n The entered number is PALINDROME."); else printf ("\n The entered number is NOT PALINDROME."); return 0; }

Here the user is asked to enter a number. The entered number is assigned to variable *num*. Another variable *chk* is assigned the same value as *num* to check the result at the end of the program. The loop begins and continues to loop as along as *num>0*. When *num>0* the c variable stores the last digit of the number. The variable res is initially 0 so *res*10 = 0 + c* which is equal to *res=c*. Then the statement *num=num / 10* removes the last digit of the digit as for example, 129/10 equals to 12.

On the second loop, c again stores the last digit of the number. Then the value currently being stored at *res* is multiplied by 10 and *c *is added to *res*. The statement *num=num/10* again removes the last digit and the loop continues as long as *n>0*. When n is < or = 0 then the loop stops.

### Example 2: Check Palindrome for 3 Digit Number

Another method, to check whether a number is palindrome or not in C programming is by comparing the first and last digit of the number. If the first and last digits are the same then the number of palindrome

#include<stdio.h> int main() { int a,b,c,x; printf("Enter a three digit number \n"); scanf("%d",&a); x=a%10; a=a/10; b=a%10; c=a/10; if (x==c) printf("\n It is PALINDROME. "); else printf("\n It is NOT PALINDROME. "); return 0; }

Here, variable *x *holds the last digit of the number. The statement *a=a/10* removes the last digit. The variable* b* holds the middle digit of the three digit number. And the variable *c* holds the first digit of the number. If the last digit is equal to the first digit then the number is palindrome, otherwise not.

**Output**

Enter a number 121 It is PALINDROME.

Enter a number 300 It is NOT PALINDROME.