C Programs | IT Developer
IT Developer

C Programs



Share with a Friend

Functions in C

Palindrome check using Recursive function

C Program: Palindrome check using Recursive function

C

#include <stdio.h>

 

// Function declarations

int reverseNumber(int num, int rev);

int isPalindrome(int num);

 

int main() {

    int number;

 

    // Input number

    printf("Enter a number: ");

    scanf("%d", &number);

 

    // Function call

    if (isPalindrome(number))

        printf("%d is a palindrome number.\n", number);

    else

        printf("%d is not a palindrome number.\n", number);

 

    return 0;

}

 

// Recursive function to reverse the number

int reverseNumber(int num, int rev) {

    if (num == 0)

        return rev;

    return reverseNumber(num / 10, rev * 10 + (num % 10));

}

 

// Function to check palindrome

int isPalindrome(int num) {

    int reversed = reverseNumber(num, 0);

    if (num == reversed)

        return 1;  // Palindrome

    else

        return 0;  // Not palindrome

}

Output

 
OUTPUT 1 :
Enter a number: 1221
1221 is a palindrome number.

OUTPUT 2 :
Enter a number: 1234
1234 is not a palindrome number.

Explanation

  1. reverseNumber() Function
    • Uses recursion to reverse the digits of the number.
    • At each step, the last digit is added to the reversed number.
  2. isPalindrome() Function
    • Calls reverseNumber() to get the reversed value.
    • Compares the reversed number with the original number.
  3. Main Function
    • Reads the number from the user.
    • Calls isPalindrome() to check and display the result.