# C Program to find the sum of digits of a number

Last updated on August 09, 2020

The following C program finds the sum of digits of a number.

  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 /************************************************ * Program to find the sum of the digits of a number *************************************************/ #include // include stdio.h int main() { int n, remainder, sum = 0; printf("Enter a number: "); scanf("%d", &n); while(n != 0) { remainder = n % 10; sum += remainder; n = n / 10; } printf("sum = %d", sum); return 0; } 

Expected Output: Run 1:

 1 2 Enter a number: 12345 sum = 15 

Run 2:

 1 2 Enter a number: 99999 sum = 45 

Try it now:

/************************************************
* Program to find the sum of the digits of a number
*************************************************/

#include<stdio.h> // include stdio.h

int main()
{
int n, remainder, sum = 0;

printf("Enter a number: \n");
scanf("%d", &n);

while(n != 0)
{
remainder = n % 10;
sum += remainder;
n = n / 10;
}

printf("sum = %d", sum);

return 0;
}


How it works

The following table demonstrates the algorithm we used to find the sum of digits of the a given number:

Iteration remainder sum n
After 1st iteration remainder = 12345%10 = 5 sum = 0+5 = 5 n = 12345/10 = 1234
After 2nd iteration remainder = 1234%10 = 4 sum = 5+4 = 9 n = 1234/10 = 123
After 3rd iteration remainder = 123%10 = 3 sum = 9+3 = 12 n = 123/10 = 12
After 4th iteration remainder = 12%10 = 2 sum = 12+2 = 14 n = 12/10 = 1
After 5th iteration remainder = 1%10 = 1 sum = 14+1 = 15 n = 1/10 = 0