C program to reverse a number

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);
}

Output

Share Me!