Interview Content
- C Programming Coding Questions
- C Pattern Programming Questions
- C Programming Interview Questions
- Java Programming Coding Questions
- Java Pattern Programming Questions
- Java Programming Interview Questions
- Python Programming Coding Questions
- Python Pattern Programming Questions
- Python Programming Interview Questions
- SQL Interview Questions
C Program to find a sum of digits of a number using recursion
Ans:
In this tutorial you will learn how to write a program in C to sum the digits of a number using recursion.
Basically our target is to add all digits of any given number.
Suppose If someone will give input 1547 then our program should give output after adding 1, 5, 4, and 7.
1+5+4+7 = 17.
So our program should print output as 17.
How our program will behave?
Our program will take a number as an input and it should give the output after addition of all the digits of a given number.
If someone has given input of 143 then our program should give 8 as a output.
C program to add the digits of a given number using recursive function
#include<stdio.h>
#include<conio.h>
int sumOfDigits(int num)
{
static int sum = 0;
int rem;
sum = sum + (num%10);
rem = num/10;
if(rem > 0)
{
sumOfDigits(rem);
}
return sum;
}
int main() {
int j,num;
printf("Please enter a number :");
scanf("%d",&num);
printf("sum of digits of the number = %d ",sumOfDigits(num));
getch();
}
Output:
Explanation of the above program
- In the above program inside sumOfDigits() method we have one static integer variable ‘sum’ and one integer variable ‘rem’.
- And in main() method we have two int variable j and num.
- sumOfDigits(int num) is recursive method that will return the sum of digits.
- Inside sumOfDigits(int num) method we have first finding the last digit of the number. After that we are dividing number by 10 to find next digit.
- As you can see ‘sum’ variable is declared as static. It is static because method is calling itself again and again, and if we won’t declare ‘sum’ as static then each time it will reassign to 0 and lost the previous value. So static will help to protect its previous value.
I hope you have understood it.
Also Prepare C interview programs given below
C Questions on number
- Write a program to reverse an integer in C.
- Write a program in C to check whether an integer is Armstrong number or not.
- Write a program in C to print the fibonacci series using recursive method.
- Write a program in C to check whether a number is palindrome or not using recursive method.
- Write a program in C to add two integer without using arithmetic + operator.
C Questions on String
Latest Uploads on Website
- AVL Tree with explanation
- Radix sort algorithm explanation with example
- Quick Sort Algorithm with explanation
- Bubble sorting algorithm with Bubble sort program in C
- Insertion sort algorithm and program in C
- Selection Sort Algorithm and Program in C
- Linear probing technique explanation with example
- Collision in Hashing and Collision resolution technique
- Hashing in data structure with its types
- Binary search tree operations with Program
- Binary search tree in data structure
- Binary search algorithm in data structure with explanation
- linear search in data structure with Algo and Program