# C Program to reverse the digits of a number

Last updated on September 23, 2020

The following is a C program to reverse the digits of a number:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | ```
/********************************************
* Program to reverse the digits of a number
*********************************************/
#include<stdio.h> // include stdio.h
int main()
{
long int num, rev = 0;
int rem;
printf("Enter a number: ");
scanf("%ld", &num);
while(num != 0)
{
rem = num % 10; // get the last digit of num
rev = rev * 10 + rem; // reverse the number
num = num / 10; // remove the last digit from num
}
printf("%ld", rev);
return 0;
}
``` |

**Expected Output:** 1st run:

1 2 | ```
Enter a number: 1728
8271
``` |

2nd run:

1 2 | ```
Enter a number: 456123
321654
``` |

## How it works #

The following table demonstrates the algorithm we used to reverse the digits of the a given number, assuming `n = 1728`

:

Iteration | `remainder` |
`rev` |
`num` |
---|---|---|---|

After 1st iteration | `rem = 1728%10 = 8` |
`rev = 0*10+8 = 8` |
`num = 1728/10 = 172` |

After 2nd iteration | `rem = 172%10 = 2` |
`rev = 8*10+2 = 82` |
`num = 172/10 = 17` |

After 3rd iteration | `rem = 17%10 = 7` |
`rev = 82*10+7 = 827` |
`num = 17/10 = 1` |

After 4th iteration | `rem = 1%10 = 1` |
`rev = 827*10+1 = 8271` |
`num = 1/10 = 0` |

**Recommended Reading:**

- C Program to find the factorial of a number
- C Program to find Armstrong numbers
- C Program to find Prime Numbers
- C Program to generate Fibonacci sequence
- C Program to find the sum of the digits of a number until the sum is reduced to a single digit
- C Program to count the number of digits in a number.

Load Comments