Home »
C++ programs
C++ program to extract and print digits in reverse order of a number
Extracting digits in C++: Here, we are going to learn how to extract and print the digits in reverse order of a number in C++?
Submitted by Anuj Singh, on June 04, 2019
Here, we are going to use some mathematical base while programming. The problem is, when you ask a number from the user, the user would give input as multiple digit number (considering integer only). So it is easy to find the type of number but it’s not easy to find the number of digits in the number.
So, in the following problem, we are going to use the mathematical trick of:
- Subtracting the remainder after dividing it by 10 i.e. eliminating the last digit.
- Dividing an integer by 10 gives up an integer in computer programming (the above statement is only true when the variables are initialized as int only).
Example:
Input: 12345
Output: 54321
C++ code to extract and print digits of a number in reverse order
#include <iostream>
using namespace std;
int main()
{
int num;
int a = 0;
cout << "Enter a number: ";
cin >> num;
cout << "\n";
for (int i = 1; num > 0; i++) {
a = num % 10;
cout << a;
num = num / 10;
}
return 0;
}
Output
Enter a number: 123456
654321
Here we are first using a loop with condition num>0, and the last digit of the number is taken out by using simple % operator after that, the remainder term is subtracted from the num. Then number num is reduced to its 1/10th so that the last digit can be truncated.
The cycle repeats and prints the reverse of the number num.