Quick links: C-Tricks HR Interview Que. Code Snippets C Programs C++ Programs Java Programs PHP Examples

Home » Code Snippets » C/C++ Code Snippets

C program to find sum of all digits until sum is not in single digit

This program is asked by kalyani shevale through comment on 18/12/2016.

Question

I want one program code
input is an only integer value and output will be displayed only one digit in c
e g
input int a=8999
8+9+9+9=35
3+5=8


Sponsored Links



Answer

Here, we are writing this code to calculate sum of all digits until sum is not in single digit in c programming language.

For example:

If number is 8999 the sum will be 8+9+9+9 = 35 = 3+5 = 8

This program is implementing by using recursion function, the function calculateDigits() is calling recursively until sum is not less than 10.

#include <stdio.h>
int calculateDigits(int num)
{
	int sum=0;
	while(num!=0)
	{
		sum+=(num%10);
		num/=10;
	}
	if(sum>=10)
		calculateDigits(sum);
	else
		return sum;
}
int main()
{
	int n,sum;
	
	printf("Enter any positive integer number: ");
	scanf("%d",&n);
	if(n<0)
	{
		printf("Invalid input!!!\n");
		return -1;
	}
	sum=calculateDigits(n);
	printf("Sum of digits is: %d\n",sum);
	
	return 0;
}

Output

First run:
Enter any positive integer number: 8999 
Sum of digits is: 8 

Second run:
Enter any positive integer number: 12345
Sum of digits is: 6

COMMENTS

Solved programs


Sponsored Links


Most viewed pages


Featured posts
C Tips and Tricks