C program explains how to reverse a given integer and check whether it is palindrome.

palindrome is a phrase, number, or other sequence of characters which is same as its reverse. means it will read same from front and backwards.

In this c program we initialize a variable rev to zero, after accepting the number as input from the user we save that number to a temp variable.

Then use a while loop which mod the number using ten to get digit (remainder) then add that to rev using rev = rev * 10 + digit, finally divide the number by 10 to remove the last digit of the integer.

#include <stdio.h> #include <conio.h> void main() { int num, temp, digit, rev = 0; clrscr(); printf("Enter an integer\n"); scanf("%d", &num); temp = num; /* original number is stored at temp */ while(num > 0) { digit = num % 10; /* use mod operator to take the last digit of the number */ rev = rev * 10 + digit; /* add the digit to rev *10 to assign the digit to position */ num /= 10; /* divide the number by 10 to remove the last digit */ } printf("Given number is = %d\n", temp); printf("Its reverse is = %d\n", rev); if(temp == rev ) printf("Number is a palindrome\n"); /* check both variables are equal if so it is palindrome else not */ else printf("Number is not a palindrome\n"); }

==================================================================

**OUTPUT of C program to reverse a given integer number **

==================================================================

RUN 1

Enter an integer

12321

Given number is = 12321

Its reverse is = 12321

Number is a palindrome

RUN 2

Enter an integer

3456

Given number is = 3456

Its reverse is = 6543

Number is not a palindrome

==================================================================

RUN 1

Enter an integer

12321

Given number is = 12321

Its reverse is = 12321

Number is a palindrome

RUN 2

Enter an integer

3456

Given number is = 3456

Its reverse is = 6543

Number is not a palindrome