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
Pictorial Presentation:

Sample Solution:
C Code:
#include <stdio.h>
int reverse(int n) {
int d, y = 0;
while (n) {
d = n % 10;
if ((n > 0 && y > (0x7fffffff - d) / 10) ||
(n < 0 && y < ((signed)0x80000000 - d) / 10)) {
return 0;
}
y = y * 10 + d;
n = n / 10;
}
return y;
}
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.
- Weekly Trends
- Python Interview Questions and Answers: Comprehensive Guide
- Scala Exercises, Practice, Solution
- Kotlin Exercises practice with solution
- MongoDB Exercises, Practice, Solution
- SQL Exercises, Practice, Solution - JOINS
- Java Basic Programming Exercises
- SQL Subqueries
- Adventureworks Database Exercises
- C# Sharp Basic Exercises
- SQL COUNT() with distinct
- JavaScript String Exercises
- JavaScript HTML Form Validation
- Java Collection Exercises
- SQL COUNT() function
- SQL Inner Join