C Exercises: Reverse the digits of a given integer
C Programming Mathematics: Exercise-1 with Solution
Write a C program to reverse the digits of a given integer.
Example:
Input:
i = 123
i = 208478933
i = -73634
Output:
Reverse integer: 321
Reverse integer: 339874802
Reverse integer: -43637
Visual Presentation:
Sample Solution:
C Code:
#include <stdio.h>
// Function to reverse the digits of an integer
int reverse(int n) {
int d, y = 0;
// Reversing the digits of the integer
while (n) {
d = n % 10;
// Check for potential overflow before updating the reversed integer
if ((n > 0 && y > (0x7fffffff - d) / 10) ||
(n < 0 && y < ((signed)0x80000000 - d) / 10)) {
return 0; // Return 0 if overflow detected
}
y = y * 10 + d; // Update the reversed integer
n = n / 10; // Move to the next digit
}
return y; // Return the reversed integer
}
int main(void)
{
int i = 123;
printf("Original integer: %d ", i);
printf("\nReverse integer: %d ", reverse(i));
i = 208478933;
printf("\nOriginal integer: %d ", i);
printf("\nReverse integer: %d ", reverse(i));
i = -73634;
printf("\nOriginal integer: %d ", i);
printf("\nReverse integer: %d ", reverse(i));
return 0;
}
Sample Output:
Original integer: 123 Reverse integer: 321 Original integer: 208478933 Reverse integer: 339874802 Original integer: -73634 Reverse integer: -43637
Flowchart:
C Programming Code Editor:
Improve this sample solution and post your code through Disqus.
Previous: C Math Exercises Home
Next: Write a C program to check whether an integer is a palindrome or not.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://www.w3resource.com/c-programming-exercises/math/c-math-exercise-1.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics