Write a C program to input a number and calculate sum of digits using for loop. How to find sum of digits of a number in C program. Logic to find sum of digits of a given number in C programming.

**Example**

**Input**

Input any number: 1234

**Output**

Sum of digits: 10

## Required knowledge

Basic C programming, While loop

## Logic to find sum of digits of a number

The main idea to find sum of digits can be divided in three steps.

- Extract last digit of the given number.
- Add the extracted last digit to sum.
- Remove last digit from given number. As it is processed and not required any more.

If you repeat above three steps till the number becomes `0`. Finally you will be left with sum of digits.

Step by step descriptive logic to find sum of digits of a given number.

- Input a number from user. Store it in some variable say
`num`. - Find last digit of the number. To get last digit modulo division the number by 10 i.e.
`lastDigit = num % 10`

. - Add last digit found above to
`sum`i.e.`sum = sum + lastDigit`

. - Remove last digit from number by dividing the number by
`10`i.e.`num = num / 10`

. - Repeat step 2-4 till number becomes
`0`. Finally you will be left with the sum of digits in`sum`.

## Program to find sum of digits of a number

```
/**
* C program to find sum of its digits of a number
*/
#include <stdio.h>
int main()
{
int num, sum=0;
/* Input a number from user */
printf("Enter any number to find sum of its digit: ");
scanf("%d", &num);
/* Repeat till num becomes 0 */
while(num!=0)
{
/* Find last digit of num and add to sum */
sum += num % 10;
/* Remove last digit from num */
num = num / 10;
}
printf("Sum of digits = %d", sum);
return 0;
}
```

In the above program I have used shorthand assignment operator `sum += num % 10;`

which is equivalent to `sum = sum + (num % 10);`

.

Output

Enter any number to find sum of its digit: 1234 Sum of digits = 10

Happy coding 😉