C Program for Sum the digits of a given number

Given a number, find sum of its digits.

Example :

```Input : n = 687
Output : 21

Input : n = 12
Output : 3
```

1. Iterative:

C

 `// C program to compute sum of digits in  ` `// number. ` `# include ` ` `  `/* Function to get sum of digits */` `int` `getSum(``int` `n) ` `{  ` `   ``int` `sum = 0; ` `   ``while` `(n != 0) ` `   ``{ ` `       ``sum = sum + n % 10; ` `       ``n = n/10; ` `   ``} ` `   ``return` `sum; ` `} ` ` `  `int` `main() ` `{ ` `  ``int` `n = 687; ` `  ``printf``(``" %d "``, getSum(n)); ` `  ``return` `0; ` `} `

How to compute in single line?

C

 `# include ` `/* Function to get sum of digits */` `int` `getSum(``int` `n) ` `{ ` `    ``int` `sum; ` ` `  `    ``/* Single line that calculates sum */` `    ``for` `(sum=0; n > 0; sum+=n%10,n/=10); ` ` `  `    ``return` `sum; ` `} ` ` `  `int` `main() ` `{ ` `  ``int` `n = 687; ` `  ``printf``(``" %d "``, getSum(n)); ` `  ``return` `0; ` `} `

2. Recursive

C

 `int` `sumDigits(``int` `no) ` `{ ` `   ``return` `no == 0 ? 0 : no%10 + sumDigits(no/10) ; ` `} ` ` `  `int` `main(``void``) ` `{ ` `    ``printf``(``"%d"``, sumDigits(687)); ` `    ``return` `0; ` `} `

Please refer complete article on Program for Sum the digits of a given number for more details!

My Personal Notes arrow_drop_up

Article Tags :

1

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.