Home Misc Find the sum of digits in a given number.

Find the sum of digits in a given number.

by nikoo28
0 comment

Question: Find sum of digits in a given number.

Input: 65536
Output: 25

Method 1 (Iterative):

In this code sample by using modulus operator(%), we extract the individual digits of given number then we add them together

#include<stdio.h>

int findSum(int num)
{
	int  sum = 0, remainder;

	while(num != 0)
	{
		// This gives us the last digit
		remainder = num % 10;

		// Add the digit to the sum
		sum = sum + remainder;

		// This divides the number by 10
		// and removes the last digit
		num = num / 10;
   }

   return sum;
}

int main(void)
{
	printf("Enter an integer\n");
	scanf("%d",&num);

	sum = findSum(num);

	printf("Sum of digits of given number  = %d\n",sum);

	return 0;
}

Method 2 (recursive):

#include <stdio.h>

int findSumRecursive(int num)
{
	// Making it static makes only one copy
	static int sum = 0;

	if (num == 0)
	{
		return 0;
	}

	sum = num%10 + findSumRecursive(num/10);

	return sum;
}

int main(void)
{
	int num, sum;
	scanf("%d", &num);

	sum = findSumRecursive(num);

	printf("%d\n", sum);
	return 0;
}
0 comment

You may also like

Enclose codes in [code lang="JAVA"] [/code] tags

This site uses Akismet to reduce spam. Learn how your comment data is processed.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More