w3resource

C Program: Palindrome check using While loop

C While Loop: Exercise-9 with Solution

Write a C program that implements a program to check if a given number is a palindrome using a while loop.

Sample Solution:

C Code:

#include <stdio.h>

int main() {
    int num, reversedNum = 0, originalNum;  // Declare variables for the number, reversed number, and original number

    printf("Input a number: ");
    scanf("%d", &num);  // Read the input number from the user
    originalNum = num;  // Store the original number for comparison later

    // Start a while loop to reverse the digits of the number
    while (num != 0) {
        int remainder = num % 10;  // Extract the last digit
        reversedNum = reversedNum * 10 + remainder;  // Build the reversed number
        num /= 10;  // Remove the last digit from the original number
    }

    // Check if the reversed number is equal to the original number
    if (originalNum == reversedNum) {
        printf("%d is a palindrome.\n", originalNum);
    } else {
        printf("%d is not a palindrome.\n", originalNum);
    }

    return 0;  // Indicate successful program execution
}

Sample Output:

Input a number: 12345
12345 is not a palindrome.
Input a number: 1111
1111 is a palindrome.
Input a number: 5665
5665 is a palindrome.

Explanation:

Here are key parts of the above code step by step:

  • User Input:
    • Prompts the user to input a number.
    • Reads the input and stores it in the variable 'num'.
  • Variable Initialization:
    • Initializes variables 'reversedNum' and 'originalNum'.
    • reversedNum will store the reversed digits of the input number.
    • originalNum preserves the original input for later comparison.
  • While Loop (Digit Reversal):
    • Enters a while loop that continues until the original number becomes 0.
    • Inside the loop, extracts the last digit of 'num'.
    • Builds the reversed number ('reversedNum') by appending the extracted digit.
    • Removes the last digit from the original number ('num').
  • Palindrome Check:
    • Compares the original number ('originalNum') with the reversed number (reversedNum).
    • Prints whether the original number is a palindrome or not.
  • Return Statement:
    • Indicates successful program execution.

Flowchart:

Flowchart: Palindrome check using While loop.

C Programming Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Sum of Cubes of Even Numbers up to 20 using While loop.
Next: C Program: Print first 10 Fibonacci numbers - While loop.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://w3resource.com/c-programming-exercises/while-loop/c-while-loop-exercise-9.php