C program to reverse a number
This C program is to reverse a number.For example reverse of number 789 is 987.
Logic
We take a variable reverse , multiply it by 10 and keep adding the remainder of the number to it.
Dry Run of the Program
Take input ‘number’. Let us take number=789
1st iteration while(n!=0) i.e. while(789!=0)
reverse=reverse*10+n%10 i.e. reverse=0*10+789%10 hence reverse=9
n=n/10 i.e. n=789/10 hence n=78
2nd iteration while(n!=0) i.e. while(78!=0)
reverse=reverse*10+n%10 i.e. reverse=9*10+78%10 i.e. reverse=90+8 hence reverse=98
n=n/10 i.e. n=78/10 hence n=7
1st iteration while(n!=0) i.e. while(7!=0)
reverse=reverse*10+n%10 i.e. reverse=98*10+7%10 i.e. reverse=980+7 hence reverse=987
n=n/10 i.e. n=7/10 hence n=0
While Loop ends here as n is equal to 0;
We then print value of reverse 987.
Program
#include<stdio.h> void main() { int n,reverse=0; printf("Enter a number\n"); scanf("%d",&n); while(n!=0) { reverse=reverse*10+n%10; n=n/10; } printf("Reversed number = %d",reverse); }