Ads by ProfitSence
Close

C Program to Reverse a Number

Last Updated on Sunday 9th Oct 2022

c program reverse number

We can reverse a number in c using loop and arithmetic operators.For Example , you take the number 12345, the reverse is 54321.

Let's see how the while loop works

  • For Example: Given Input is 12345. The required output is 54321. Let us assume , our reversed number ( reverse) is 0.
  • Multiply the reverse number with 10 and add the digit which we extracted from the input.
  • Equate the reverse with result
Number Remainder Reverse
12345 5 0 * 10 + 5 = 5
2345 4 5 * 10 + 4 = 54
345 3 54 * 10 + 3 = 543
45 2 543 * 10 + 2 = 5432
5 1 5432 * 10 + 1 = 54321
0 - Loop Terminates

In Simple

  • Initialize reverse = 0
  • For every digit in the number , reverse = reverse * 10 + remainder
  • Output the reverse.
			
					#include<stdio.h>
int main(){
    int number = 12345;
    int reverse = 0;
    while(number != 0){
      reverse = reverse * 10 + number % 10;
      number /= 10;
    }
    printf("%d", reverse);
}

			
	

Here

  • We use the Modulo operator ( %) to get remainder.
  • We use the Division Operator ( /) to get quotient.

Output

			
					54321

			
	

Let user enters the input number.

			
					#include<stdio.h>
int main(){
    int number;
    printf("Enter an integer: ");
    scanf("%d", &number);
    int reverse = 0;
    while(number != 0){
      reverse = reverse * 10 + number %10;
      number /= 10;
    }
    printf("Reversed number : %d", reverse);
}

			
	

Output

			
					Enter an integer: 12345678
Reversed number : 87654321

			
	

Finally, the reverse variable is printed on the screen.

c program to reverse a number
c programming reverse number
how to reverse a number