Thread: Reverse number programming

  1. #1
    Registered User
    Join Date
    Apr 2012
    Posts
    99

    Reverse number programming

    I am having difficulty to understand following program.
    Code:
    #include<stdio.h>
    int main (void)
    {
        unsigned int number;
        int reverse=0; 
        printf("Enter number to reverse \n");
        scanf("%d", &number);  
      
     while (number != 0)
     {
      reverse = reverse * 10;
      reverse = reverse + number % 10;
      number   = number / 10;
     }
     printf("Reverse number is = %d \n", reverse);
      
     return 0;
    }
    I don't understand this part of program
    Code:
    while (number != 0)
     {
      reverse = reverse * 10;
      reverse = reverse + number % 10;
      number   = number / 10;
     }
    let's say I want to get reverse number of 835 then
    5*100 =500
    3*10 = 30
    8*1 = 8
    ------------------
    = 538

    835 -- reverse number - 538

  2. #2
    and the hat of int overfl Salem's Avatar
    Join Date
    Aug 2001
    Location
    The edge of the known universe
    Posts
    39,661
    Either

    Use a debugger to single step the code and observe how each variable changes with each statement.

    Or add three more printf calls inside the loop to show you what each variable contains.
    If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
    If at first you don't succeed, try writing your phone number on the exam paper.

  3. #3
    Registered User
    Join Date
    Apr 2012
    Posts
    99
    Quote Originally Posted by Salem View Post
    Either

    Use a debugger to single step the code and observe how each variable changes with each statement.

    Or add three more printf calls inside the loop to show you what each variable contains.
    Thanks Now I understood
    Enter number to reverse
    123
    Reverse number 0
    Reverse number is = 3
    number is = 12
    Reverse number is = 3
    Reverse number 30
    Reverse number is = 32
    number is = 1
    Reverse number is = 32
    Reverse number 320
    Reverse number is = 321
    number is = 0
    Reverse number is = 321

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Help with reverse number
    By kzzmzz in forum C Programming
    Replies: 12
    Last Post: 02-23-2017, 03:31 PM
  2. Reverse of a number
    By vijaygame in forum C Programming
    Replies: 2
    Last Post: 01-11-2016, 11:04 AM
  3. Replies: 2
    Last Post: 10-31-2009, 06:49 PM
  4. Reverse a number
    By a2008 in forum C++ Programming
    Replies: 3
    Last Post: 03-27-2008, 11:04 PM
  5. reverse a number digits
    By tootoo in forum C++ Programming
    Replies: 3
    Last Post: 04-06-2007, 11:24 AM

Tags for this Thread