# Algorithm to reverse order of digits of an integer.

In this guide, we going to learn a programming algorithm to reverse the order of digits of an integer. Here explains the algorithm to Reverse the order of digits of a positive integer.

### Development:

A specific example of reversing is,

Input no: 1532

Reversed output: 2351Actually, the number 1532 is

Actually, the number 1532 is

1*(10^3)+5*(10^2)+3*(10^1)+2*(10^0)

We can access each digit. and start the access from rightmost (least significant digit). To chop off a least significant digit from the number, use mod 10, mod give a reminder of the division.

i.e. 1532 mod 10 = 2

To get the remaining number 153, Use integer division by 10 with

the number.

i.e, int(1532 div 10) = 153

To generalize above steps, imagine n is the number to be reverse

then,

n mod 10 = r; r is the least significant digit n = int(n / 10);

The next step is to reverse the number, In above example 2 is the first digit and 3 is second.We can reverse it by 2 (least significant digit)is multiplying with 10 and add it with 3 (next significant digit).

i.e, 2*10 + 3 = 23

Repeat the above steps until fully reverse the number.

Use while loop with condition n>0 to repeat the steps.

23 * 10 + 5 = 235 235 * 10 + 1 = 2351

We are done!

To generalize above steps, initialize a variable reverse with zero.

i.e,reverse = reverse * 10 + r

### implement in C:

#include<stdio.h> main() { int reverse = 0; int r,n; printf("Enter the number to reverse"); scanf(%d,&n); while(n>0){ r = n mod 10; n = n / 10; reverse = (reverse *10) + r; } printf(The reversed number is :%d,reverse); return 0; }