This C program calculates the sum of digits of a given number using recursion. Here’s a concise explanation:
- Function Definition:
sumDigits(int n)
- This function calculates the sum of digits of a number
n
. - The base case checks if
n
is 0. If true, it returns 0 (no digits to sum). - Otherwise, it uses recursion by summing the last digit of
n
(obtained byn % 10
) with the sum of the remaining digits (obtained bysumDigits(n / 10)
).
- This function calculates the sum of digits of a number
- Main Function:
main()
- The main function begins the execution of the program.
- It declares two variables:
num
for user input andresult
to store the sum of digits. - The user is prompted to enter a number, which is then stored in the variable
num
. - The
sumDigits
function is called withnum
as an argument, and the result is stored in theresult
variable. - The program prints the sum of digits.
- Output:
- The program outputs the calculated sum of digits for the given input.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #include <stdio.h> int sumDigits(int); int main() { int num, result; printf("Enter a number: "); scanf("%d", &num); result = sumDigits(num); printf("Sum of digits of a number: %d", result); return 0; } int sumDigits(int n) { if (n == 0) return 0; return (n % 10 + sumDigits(n / 10)); //recursion call } |
Output:
Enter a number: 123
Sum of digits of a number: 6
Learn more on recursion.