# Reverse a Number in C++

In this tutorial, you'll learn how to utilize a C++ program to reverse a number entered by a user at runtime. Because there are various ways to write a C++ program to reverse a number, we've utilized a well-known approach to do the task, as seen below:

• Reverse a number using a while loop
• Using a for loop
• Using function
• Using an array

## Reverse a number using while loop

To reverse a number in C++ programming, you must first request that the user supply a number. Now get the inverse of that number and print it on the output as demonstrated in the following program:

The task is to develop a C++ program that reverses a number. Here's what it says:

``````#include < iostream >
#include < bits/stdc++.h >
#include < stdlib >
using namespace std ;
int main ( )
{
int num , rem , rev = 0 ;
cout << "enter the Number: " ;
cin >> num ;
while ( num ! = 0 )
{
rem = num % 10 ;
rev = rem + ( rev * 10 ) ;
num = num / 10 ;
}
cout <<"\nReverse = " << rev ;
cout << endl ;
return 0 ;
}
``````

OUTPUT:

``````Enter the Number: 123
321
………………………………….
Process executed in 1.112 seconds
Press any key to continue.
``````

Explanation:

rev=0, initial value When a user types in the number 123, it is saved in the num field. Now that the condition num!=0 (of the while loop) or 123!=0 is true, program flow enters the loop and all three lines are executed. That is, rem is initialized to num percent 10 or 123 percent 10 or 3. Then rev is initialized to rem + (rev*10) or 3 + (0*10) or 3. So rev=3 num/10, 123/10, or 12 is eventually initialized to num. So num=12 after performing all three while loop statements, the condition is assessed one again.

### Using a Loop

Instead of utilizing the while loop, this program uses the for loop. The rest of the software is identical to the previous one:

``````#include < iostream >
#include < bits/stdc++.h >
#include < stdlib >
using namespace std ;
int main ( )
{
int number , remainder , rev ;
cout <<"enter the Number: " ;
cin >> number ;
for ( rev = 0 ; number ! = 0 ; number = number / 10 )
{
remainder = num % 10 ;
rev = remainder + ( rev * 10 ) ;
}
cout <<"\nReverse = "<<  rev ;
cout << endl ;
return 0 ;
}
``````

OUTPUT:

``````Enter the Number: 23056
65032
…………………………………….
Process executed in 0.22 seconds
Press any key to continue.
``````

Explanation:

Here in the above code we are using the for loop in the line number 10 which is taking rev integer and will iterate till n is not equal to zero.

### Without Using Loops

To reverse a number, this program does not require any form of loop, neither for nor while. First, have a look at the software; the explanation will follow:

``````#include < iostream >
#include < bits/stdc++.h >
#include < stdlib >
using namespace std ;
int main ( )
{
int num , rem , rev = 0 ;
cout <<"enter the Number: " ;
cin >> num ;
CODeReVeRSe:
rem = num % 10 ;
rev = ( rev * 10 ) + rem ;
num = num / 10 ;
if ( num ! = 0 )
goto CODeReVeRSe ;
cout <<"\nReverse = "<< rev ;
cout << endl ;
return 0 ;
}
``````

OUTPUT:

``````Enter the Number: 23056
65032
……………………………………
Process executed in 0.133 seconds
Press any key to continue.
``````

Explanation:

CODEREVERSE is a label in which all three statements for reversing a number are written. We used if for the condition ( to check ) after running all three statements, like we did in the while loop. If the condition evaluates to true, the program flow returns to the label using the goto keyword followed by the label name.

### Using Function

To reverse an integer, this application employs the rev ( ) user-defined function. It accepts a number as an input and returns the opposite. Example:

``````#include < iostream >
#include < bits/stdc++.h >
#include < stdlib >
using namespace std ;
int rev ( int ) ;
int main ( )
{
int number , i ;
cout <<"enter the Number: " ;
cin >> number ;
i = rev ( number ) ;
cout <<"\nReverse = "<< i ;
cout << endl ;
return 0 ;
}
int rev ( int x )
{
int remainder , res = 0 ;
while ( x != 0 )
{
remainder = x % 10 ;
res = ( res * 10 ) + remainder ;
x = x / 10 ;
}
return res ;
}
``````

OUTPUT:

``````Enter the Number: 23056
65032
……………………………………
Process executed in 0.13 seconds
Press any key to continue.
``````

Explanation:

In the above program we are making a function called rev which is taking integer x as a parameter and inside that function we are using while loop for our iterations till x integer is not equal to zero.