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
nis 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:
numfor user input andresultto store the sum of digits. - The user is prompted to enter a number, which is then stored in the variable
num. - The
sumDigitsfunction is called withnumas an argument, and the result is stored in theresultvariable. - The program prints the sum of digits.
- Output:
- The program outputs the calculated sum of digits for the given input.
#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.