You are currently viewing C Program To Sum Digits Of a Number Using While Loop

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.

Required Knowledge

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.