w3resource

C Exercises: Reverse the digits of a given integer


1. Reverse Digits Variants

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:

C Exercises: Reverse the digits of a given integer

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:

Flowchart: Reverse the digits of a given integer

For more Practice: Solve these Related Problems:

  • Write a C program to reverse the digits of an integer recursively without using loops.
  • Write a C program to reverse the digits and then check if the reversed number is equal to the original (ignoring the sign).
  • Write a C program to reverse the digits of an integer while handling potential overflow conditions.
  • Write a C program to reverse the digits of a negative integer such that the negative sign remains at the front.

Go to:


PREV : C Math Exercises Home
NEXT : Palindrome Integer Check Variants.

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.



Follow us on Facebook and Twitter for latest update.