C Programs | IT Developer
IT Developer

C Programs



Share with a Friend

Loop Programs in C

Print reverse of a number

Introduction

Reversing a number means printing its digits in opposite order.
For example:

  • Input: 12345 → Output: 54321
  • Input: 400 → Output: 004 (or 4 ignoring leading zeros)

We’ll use a loop to extract each digit and build the reversed number.

 

C Program: Print reverse of a number

NOTE: The Program is written using for, while and do..while loop.
Method 1 is for loop, Method 2 is while loop and Method 3 is do..while loop

Method 1: Using for loop


C

#include <stdio.h>

 

int main() {

    int num, original, digit, reversed = 0;

 

    // Input

    printf("Enter an integer: ");

    scanf("%d", &num);

 

    original = num; // store original number

 

    // Reverse the number using for loop

    for (; num != 0; num /= 10) {

        digit = num % 10;             // extract last digit

        reversed = reversed * 10 + digit; // append digit

    }

 

    // Display result

    printf("Reverse of %d = %d\n", original, reversed);

 

    return 0;

}

Output

 
OUTPUT 1 :
Enter an integer: 12345
Reverse of 12345 = 54321

OUTPUT 2 :
Enter an integer: 400
Reverse of 400 = 4


Explanation

  1. Read the number num and store it in original.
  2. Initialize reversed = 0.
  3. The for loop continues while num != 0:
    • Extract the last digit using digit = num % 10.
    • Append it to reversed using reversed = reversed * 10 + digit.
    • Remove the last digit using num /= 10.
  4. Print the reversed number after the loop ends.

 

C Program: Print reverse of a number

Method 2: Using while loop


C

#include <stdio.h>

 

int main() {

    int num, original, reversed = 0, digit;

 

    // Input

    printf("Enter an integer: ");

    scanf("%d", &num);

 

    original = num; // store original number

 

    // Reverse the number

    while (num != 0) {

        digit = num % 10;       // get last digit

        reversed = reversed * 10 + digit; // append digit

        num = num / 10;         // remove last digit

    }

 

    // Display result

    printf("Reverse of %d = %d\n", original, reversed);

 

    return 0;

}

Output

 
OUTPUT 1 :
Enter an integer: 12345
Reverse of 12345 = 54321

OUTPUT 2 :
Enter an integer: 400
Reverse of 400 = 4


Explanation

  1. Read the number num from the user.
  2. Initialize reversed = 0.
  3. Use a while loop until num != 0:
    • digit = num % 10 extracts the last digit.
    • reversed = reversed * 10 + digit appends the digit to the reversed number.
    • num = num / 10 removes the last digit.
  4. Print the reversed number.

 

C Program: Print reverse of a number

Method 3: Using do..while loop


C

#include <stdio.h>

 

int main() {

    int num, original, reversed = 0, digit;

 

    // Input

    printf("Enter an integer: ");

    scanf("%d", &num);

 

    original = num; // store original number

 

    // Reverse the number using do-while

    if (num == 0) {

        reversed = 0;

    } else {

        do {

            digit = num % 10;             // get last digit

            reversed = reversed * 10 + digit; // append digit

            num = num / 10;               // remove last digit

        } while (num != 0);

    }

 

    // Display result

    printf("Reverse of %d = %d\n", original, reversed);

 

    return 0;

}

Output

 
OUTPUT 1 :
Enter an integer: 12345
Reverse of 12345 = 54321

OUTPUT 2 :
Enter an integer: 400
Reverse of 400 = 4


Explanation

  1. Read num from the user and store in original.
  2. Initialize reversed = 0.
  3. The do block:
    • Extracts the last digit using digit = num % 10.
    • Updates reversed = reversed * 10 + digit.
    • Removes the last digit using num = num / 10.
  4. Repeat while num != 0.
  5. Print the reversed number.