C++ Program to Reverse a Number

To understand this example, you should have the knowledge of the following C++ programming topics:


Example: C++ Program to Reverse an Integer

#include <iostream>
using namespace std;

int main() {

  int n, reversed_number = 0, remainder;

  cout << "Enter an integer: ";
  cin >> n;

  while(n != 0) {
    remainder = n % 10;
    reversed_number = reversed_number * 10 + remainder;
    n /= 10;
  }

  cout << "Reversed Number = " << reversed_number;

  return 0;
}

Output

Enter an integer: 2345
Reversed number = 5432

This program takes an integer input from the user and stores it in variable n.

Then the while loop is iterated until n != 0 is false.

In each iteration, the remainder when the value of n is divided by 10 is calculated, reversed_number is computed and the value of n is decreased 10 fold.

Let us see this process in greater detail:

n n != 0 remainder reversed_number
2345 true 5 0 * 10 + 5 = 5
234 true 4 5 * 10 + 4 = 54
23 true 3 54 * 10 + 3 = 543
2 true 2 543 * 10 + 2 = 5432
0 false - Loop terminates.

Finally, reversed_number (which contains the reversed number) is printed on the screen.