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

C program to check whether a number is palindrome or not; Through this tutorial, we will learn how to check whether a number is palindrome or not in the c program using for loop, while loop, recursion and function.

Algorithm To Check A Number Is Palindrome Or Not

Use the following steps to write a program to check whether a number is palindrome or not; as follows:

• Take the number as input from the user
• Reverse a given number.
• Compare the original number with the reverse value.
• If they matched, then it is a palindrome number. Otherwise, it is not a palindrome number in C programming.

## Programs To Check A Number Is Palindrome Or Not in C

• C Program To Check A Number Is Palindrome Or Not using For Loop
• C Program To Check A Number Is Palindrome Or Not using While Loop
• C Program To Check A Number Is Palindrome Or Not using Recursion
• C Program To Check A Number Is Palindrome Or Not using Function

### C Program To Check A Number Is Palindrome Or Not using For Loop

#include<stdio.h>

void main()
{
int i,n,r,s=0;

printf("\n Enter Integer Number:");
scanf("%d",&n);

//LOOP TO FIND REVERSE OF A NUMBER
for(i=n;i>0; )
{
r=i%10;
s=s*10+r;
i=i/10;
}

/* CHECKING IF THE NUMBER ENTERED AND THE REVERSE NUMBER IS EQUAL OR NOT */
if(s==n)
{
printf("\n %d is a Palindrome Number",n);
}
else
{
printf("\n %d is not a Palindrome Number",n);
}
return 0;
}

The output of the above c program; as follows:

Enter Integer Number:312
312 is not a Palindrome Number

### C Program To Check A Number Is Palindrome Or Not using While Loop

/* C program to check whether a number is palindrome or not */

#include <stdio.h>

int main()
{
int number, revNumber = 0, rem = 0, tempNumber;

printf("Enter an integer number:- ");
scanf("%d", &number);

tempNumber = number;

while (tempNumber != 0) {
rem = tempNumber % 10;
revNumber = revNumber * 10 + rem;
tempNumber /= 10;
}

/* checking if number is equal to reverse number */
if (revNumber == number)
printf("%d is a palindrome.", number);
else
printf("%d is not a palindrome.", number);

return 0;
}

The output of the above c program; as follows:

Enter an integer number:- 11
11 is a palindrome.

### C Program To Check A Number Is Palindrome Or Not using Recursion

/**
* C program to check palindrome number using recursion
*/

#include <stdio.h>
#include <math.h>

/* Function declarations */
int reverse(int num);
int isPalindrome(int num);

int main()
{
int num;

/* Input any number from user */
printf("Enter any number: ");
scanf("%d", &num);

if(isPalindrome(num) == 1)
{
printf("%d is palindrome number.\n", num);
}
else
{
printf("%d is NOT palindrome number.\n", num);
}

return 0;
}

/**
* Function to check whether a number is palindrome or not.
* This function returns 1 if the number is palindrome otherwise 0.
*/
int isPalindrome(int num)
{
/*
* Check if the given number is equal to
* its reverse.
*/
if(num == reverse(num))
{
return 1;
}

return 0;
}

/**
* Recursive function to find reverse of any number
*/
int reverse(int num)
{
/* Find number of digits in num */
int digit = (int)log10(num);

/* Recursion base condition */
if(num == 0)
return 0;

return ((num%10 * pow(10, digit)) + reverse(num/10));
}

The output of the above c program; as follows:

Enter an integer number:- 121
121 is a palindrome.

### C Program To Check A Number Is Palindrome Or Not using Function

/* C program to check whether a number is palindrome or not */

#include <stdio.h>

/*function to check Palindrome Number*/
int isPalindrome(int num)
{
int tempNumber = num;
int dig, revNumber;

/*getting reverse number*/
revNumber = 0;
while (num > 0) {
dig = num % 10;
revNumber = (revNumber * 10) + dig;
num /= 10;
}

if (revNumber == tempNumber)
return 1; /*Palindrome Number*/
else
return 0; /*Not a Palindrome Number*/
}

int main()
{
int number;

printf("Enter an integer number:- ");
scanf("%d", &number);

if (isPalindrome(number))
printf("%d is a palindrome.", number);
else
printf("%d is not a palindrome.", number);

return 0;
}

The output of the above c program; as follows:

Enter an integer number:- 121
121 is a palindrome.