## C Program To Sum Digits Of a Number Using While Loop

In this tutorial, you will learn how to write a C program to print the sum of digits of a given number using a while loop. Here, we will explore examples, logics, algorithms and program explanations for a better understanding of your problem.

## Problem Statement

You have to Write a C program that takes an integer number as input. After taking the input it should calculate the sum of its digits using a while loop. The program should provide a solution that will print the sum of the digits of a number using a while loop in the C programming language.

For a better understanding of what we have to achieve, below you have an example.

Example

``````Input:
Enter a number: 12345

Output:
The sum of the digits in 12345 is: 15``````

In the above example, you can see that the input number is 12345. And if we perform the sum then the output will be 15.

## Algorithm

1. Start the program.
2. Declare the variables: `num` to store the input number, `sum` to store the sum of digits, and `digit` as a temporary variable to hold each digit.
3. Read the value of `num` from the user.
4. Initialize `sum` to 0.
5. Enter the while loop with the condition `num != 0`.
• Extract the last digit of `num` using the modulo operator `%` and assign it to `digit`.
• Add `digit` to `sum`.
• Divide `num` by 10 to remove the last digit.
6. Exit the while loop.
7. Print the sum of digits as: “The sum of the digits in num is: sum”.
8. End the program.

## Logic used to solve this problem

• Declare a variable to hold the input number and another variable to store the sum of digits.
• Prompt the user to enter a number.
• Read and store the entered number in the variable.
• Initialize the sum variable to 0.
• Use a while loop that runs as long as the number is greater than 0.
• Inside the loop, extract the last digit of the number using the modulo (%) operator.
• Add the extracted digit to the sum variable.
• Reduce the number by removing the last digit using the integer division (/) operator.
• Continue the loop until the number becomes 0.
• Print the sum of the digits.
• Finish the program.

## Program to print the sum of digits of a given number

``````#include <stdio.h>
int main() {
int num, digit, sum = 0;
printf("Enter a number: ");
scanf("%d", &num);
while (num != 0) {
digit = num % 10;
sum += digit;
num /= 10;
}
printf("The sum of the digits is: %d\n", sum);
return 0;
}``````

Output

``````Enter a number: 23
The sum of the digits is: 5``````

### Program Explanation

• The program takes input for the number whose digits’ sum is to be calculated.
• It initializes a variable `sum` to 0, which represents the running sum of digits.
• The program enters a while loop with the condition `number > 0` to extract the digits of the given number.
• Inside the while loop, it calculates the remainder of the number divided by 10.
• It adds the value of the remainder to `sum`.
• It updates the value of the number by dividing it by 10, effectively removing the rightmost digit.
• The loop continues until the number becomes 0, indicating that all digits have been processed.
• Once the while loop is complete, the program prints the value of `sum`, which represents the sum of the digits of the given number.
• The program ends.

This program effectively calculates and prints the sum of the digits of a given number using a while loop.

## Conclusion

The C program successfully calculates and prints the sum of the digits of a given number using a while loop. By extracting each digit and adding it to a sum variable, it iterates through the digits of the number. The program then displays the sum of digits on the screen.