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

Find the sum of digits in a given number.

by nikoo28
0 comments 0 minutes read

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;
}

You may also like

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