Quick links: HR Interview Que. Code Snippets C Programs C++ Programs Java Programs Scala Solved Examples 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

Keywords (like Linux, Java, Oracle etc) used in this website are the trademarks of their respective owners/company. This website is not affiliated to any company. The tutorials are designed by includehelp Team with the help of well known books and other online resources. These Tutorials are free for all, for learning purposes only. Enjoy learning:)
Copyright © 2015 - 2016. All Rights Reserved.