Contact Learn C
Copy Program Share Program

Program 8:Sum of all digits in a number

Program 8:

#include<stdio.h>
main()
{
 int dummy,n,sum=0,x;
 printf("Enter a number\n");
 scanf("%d",&n);
 dummy=n;
 while(n>0)
 {
   x=n%10;
   sum=sum+x;
   n=n/10;
 }
 printf("The sum of all digits in %d is %d\n",dummy,sum);
}
Explanation:
  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.
    • sum----->To store the sum of all digits in the 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. sum=0+1-------->1
        3. n=321/10--------->32
        4. The sum for the first loop execution is sum=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. sum=1+2-------->3
        3. n=32/10--------->3
        4. The sum when loop executed second time is sum=3.
      • 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. sum=3+3-------->6
        3. n=3/10--------->0
        4. The sum when loop executed third time is sum=6.
      • Now as the number in variable 'n' is 0 which is not n>0 then the loop terminates.Then the final sum is '6'.
  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 'sum'.
Output:

Sum of all digits in a number
 

Download App and Learn when ever you want

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