📜  C程序求和给定数字的数字

📅  最后修改于: 2021-05-28 04:51:52             🧑  作者: Mango

给定一个数字,找到其数字的总和。

例子 :

Input : n = 687
Output : 21

Input : n = 12
Output : 3

1.迭代:

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!Want to learn from the best curated videos and practice problems, check out the C Foundation Course for Basic to Advanced C.