Contact Learn C

Program 9:To print the reverse of a given number

Program 9:
  int dummy,n,rev=0,x;
  printf("Enter a number\n");
  printf("The reverse of %d is %d\n",dummy,rev);
Explanation: This is same as adding digits in a number but a small change is made as you see..................
  1. Here we did initialization for
    • dummy----->To store the entered value(i.e 'n') as you will come to know at the end of the program
    • n----------->To store number given by user.
    • rev----->To store the reverse of a number.It is initialized to zero
    • x---------->To store n%10.
  2. First of all we got a number 'n' from user and then stored it in a dummy variable called as 'dummy' for restoring the value.(remember this point).
  3. Now the main logic comes here:-
      • let the number 'n' be 321 and as 321>0,while loop gets executed
        1. then x=321%10--->which is 1.
        2. rev=0*10+1-------->1
        3. n=321/10--------->32
        4. The rev for the first loop execution is rev=1.
      • Now the number 'n' has become '32' and n>0,while loop executes for 2nd time
        1. then x=32%10--->which is 2.
        2. rev=1*10+2-------->12
        3. n=32/10--------->3
        4. The rev when loop executed second time is rev=12.
      • Now the number 'n' has become '3' and n>0,while loop executes for 3rd time
        1. then x=3%10--->which is 3.
        2. rev=12*10+3-------->123
        3. n=3/10--------->0
        4. The rev when loop executed third time is rev=123.
      • Now as the number in variable 'n' is 0 which is not n>0 then the loop terminates.Then the final reverse is '123'.
  4. So now I hope you understood why the dummy variable is used.It is because the value in 'n' becomes 0 at the end of the program so for restoring this value to print at the end we used 'dummy'(as from the 2nd point).
  5. Finally it prints the value in 'rev'.

Reverse of a given number

Download App and Learn when ever you want

Get it on PlayStore
Get it on Amazon App Store
Get it on Aptoide