Sum Of Digit Of A Number Using Recursion Through C Programming

In this post I will discuss Sum Of Digit Of A Number Using Recursion through C Programming.

Given a number, we need to find sum of its digits using recursion.

Examples:

Input : 12345
Output : 15

Input : 45632
Output :20

Now, the step by step process for a better understanding of how this algorithm works,

Lets, Take the example 12345

Step-1:

12345 % 10 which is equal-too 5 + and then send 12345/10 to next step.

Step-2:

1234 % 10 which is equal-too 4 + and then send 1234/10 to next step.

Step-3:

123 % 10 which is equal-too 3 + and then send 123/10 to next step.

Step-4:

12 % 10 which is equal-too 2 + and then send 12/10 to next step.

Step-5:

1 % 10 which is equal-too 1 and then send 1/10 to next step.

Step-6:

0 algorithm stops.

Here, following diagram will illustrate the process of recursion:

// Recursive C program to find sum of digits
// of a number
#include <stdio.h>

int sum_of_digit(int);
// Driven Program to check above
int main()
{
int num = 12345;
int result = sum_of_digit(num);
printf("Sum of digits in %d is %d\n", num, result);
return 0;
}

// Function to check sum of digit using recursion
int sum_of_digit(int n)
{
if (n == 0)
return 0;
return (n % 10 + sum_of_digit(n / 10));
}

Output:

Sum of digits in 12345 is 15