C program to find sum of digits of a number - Source code

#include <stdio.h>
void main()
{
long number, digit, sum = 0;
printf("Enter the number \n");
scanf("%ld", &number);
/* Repeat till number becomes 0 */
while (number > 0)
{
/* Find last digit of number and add to sum */
digit = number % 10;
sum = sum + digit;
/* Remove last digit from num */
number = number / 10;
}
printf("Sum of the digits of given number = %ld", sum);
}

Program Output

ase 1:
Enter the number
28563
Sum of the digits of given number = 24
Case 2:
Enter the number
890467
Sum of the digits of given number = 34

Program Explanation

1. Here three variables - number, digit, sum are declared of type long integer. You can choose digit and sum to be of integer type as their value in not going to be so large. Sum is initialized to 0 at the time of declaration.

2. Extraction of the last digit, adding it to sum and removal of the last digit, all the three operations are performed inside the while loop. The while loop terminates when the number becomes less than 0.

3. Modulus operator is used to extract the last digit. The modulus operator (%) divide the entered number by 10 and the remainder value is stored in the variable digit.

4.The value of variable digit is added to sum.

5. In the next step, the last digit is removed from the number by dividing it by 10. Here note that, integer division is performed and hence the returned result is also of integer type (it cut off the fractional part).

6. When the number becomes less than 0, the loop terminates and the value of sum is printed.

C program to find sum of digits of a number - Source codeProgram OutputProgram Explanation1. Here three variables - number, digit, sum are declared of type long integer. You can choose digit and sum to be of integer type as their value in not going to be so large. Sum is initialized to 0 at the time of declaration.

2. Extraction of the last digit, adding it to sum and removal of the last digit, all the three operations are performed inside the while loop. The while loop terminates when the number becomes less than 0.

3. Modulus operator is used to extract the last digit. The modulus operator (%) divide the entered number by 10 and the remainder value is stored in the variable digit.

4.The value of variable digit is added to sum.

5. In the next step, the last digit is removed from the number by dividing it by 10. Here note that, integer division is performed and hence the returned result is also of integer type (it cut off the fractional part).

6. When the number becomes less than 0, the loop terminates and the value of sum is printed.

need an explanation for this answer? contact us directly to get an explanation for this answer