Bash program to check if the Number is a Palindrome?

In C programming, to check whether a number is a palindrome, we need to reverse the number and compare it with the original. A palindrome number reads the same forwards and backwards, like 12321 or 1221.

Syntax

int reverseNumber(int num);
int isPalindrome(int num);

Method 1: Using Mathematical Approach

This method extracts digits from the end and builds the reversed number mathematically −

#include <stdio.h>

int reverseNumber(int num) {
    int reversed = 0;
    while (num != 0) {
        reversed = reversed * 10 + num % 10;
        num /= 10;
    }
    return reversed;
}

int isPalindrome(int num) {
    return num == reverseNumber(num);
}

int main() {
    int number = 12321;
    
    printf("Original number: %d
", number); printf("Reversed number: %d
", reverseNumber(number)); if (isPalindrome(number)) { printf("Number is palindrome
"); } else { printf("Number is not palindrome
"); } return 0; }
Original number: 12321
Reversed number: 12321
Number is palindrome

Method 2: Using String Comparison

This approach converts the number to a string and compares it with its reverse −

#include <stdio.h>
#include <string.h>

void reverseString(char str[]) {
    int len = strlen(str);
    for (int i = 0; i < len / 2; i++) {
        char temp = str[i];
        str[i] = str[len - 1 - i];
        str[len - 1 - i] = temp;
    }
}

int main() {
    int number = 1221;
    char original[20], reversed[20];
    
    sprintf(original, "%d", number);
    strcpy(reversed, original);
    reverseString(reversed);
    
    printf("Original: %s
", original); printf("Reversed: %s
", reversed); if (strcmp(original, reversed) == 0) { printf("Number is palindrome
"); } else { printf("Number is not palindrome
"); } return 0; }
Original: 1221
Reversed: 1221
Number is palindrome

Key Points

  • The mathematical method is more efficient with O(log n) time complexity.
  • String method is easier to understand but uses extra memory.
  • Both methods handle positive integers correctly.

Conclusion

Checking palindrome numbers in C can be done using mathematical digit extraction or string manipulation. The mathematical approach is more memory-efficient for numeric palindrome detection.

Updated on: 2026-03-15T11:01:51+05:30

4K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements