Reversing a number means arranging its digits in the opposite order. In C, we can reverse a number by repeatedly extracting its last digit and building the reversed number.
- The last digit is extracted using the modulo operator %.
- Integer division / removes the last digit from the original number.
Examples
Input: 12354
Output: 45321
Explanation: The number 12354 when reversed gives 45321Input: 623
Output: 326
Explanation: The number 623 when reversed gives 326.
Reverse a Number
The number can be reversed by extracting its digits one by one and adding them to the reversed number.
#include <stdio.h>
// Function to reverse a number
int reverseDigits(int num)
{
int rev_num = 0;
while (num > 0) {
rev_num = rev_num * 10 + num % 10;
num /= 10;
}
return rev_num;
}
int main()
{
int num = 4562;
printf("Given number: %d\n", num);
printf("Reverse of the number: %d", reverseDigits(num));
return 0;
}
Output
Given number: 4562 Revers of the number: 2654
Explanation
- num % 10 extracts the last digit of the number.
- rev_num * 10 + digit adds the digit to the reversed number.
- num /= 10 removes the last digit from num.
- The loop continues until all digits are processed.
For 4562, the reversed number is built as:
0 -> 2 -> 26 -> 265 -> 2654