**Write a C program to check whether the given number is a palindromic number.**

If a number, which
when read in both forward and backward way is same, then such a number is
called a

palindrome number.

**Program:**

#include
<stdio.h>

int main()

{

int n, n1, rev = 0,
rem;

printf("Enter
any number: \n");

scanf("%d",
&n);

n1 = n;

/* logic */

while (n > 0)

{

rem = n % 10;

rev = rev * 10 + rem;

n = n / 10;

}

if (n1 == rev)

{

printf("Given
number is a palindromic number");

}

else

{

printf("Given
number is not a palindromic number");

}

return 0;

}

**Output:**

Enter any number: 121

Given number is a
palindrome

**Explanation with an example:**

Consider a number
n=121, reverse=0, remainder;

number=121

now the while loop is
executed /* the condition (n>0) is satisfied */

/* calculate
remainder */

remainder of 121
divided by 10=(121%10)=1;

now
reverse=(reverse*10)+remainder

=(0*10)+1 /* we have
initialized reverse=0 */

=1

number=number/10

=121/10

=12

now the number is 12,
greater than 0. The above process is repeated for number=12.

remainder=12%10=2;

reverse=(1*10)+2=12;

number=12/10=1;

now the number is 1,
greater than 0. The above process is repeated for number=1.

remainder=1%10=1;

reverse=(12*10)+1=121;

number=1/10 /* the
condition n>0 is not satisfied,control leaves the while loop */

Program stops here.
The given number=121 equals the reverse of the number. Thus the given number is
a

palindrome number.