﻿ C Program: Reverse the digits of a given integer - w3resource

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.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.

﻿