C program to find sum of digits of a number
Learn how to write a C program to find the sum of the digits of a number. This article provides a detailed explanation and sample code for this basic yet essential task in C programming.
Finding the sum of digits of a number is a fundamental problem in programming that helps in understanding basic arithmetic operations and loops. This article will guide you through writing a C program to find the sum of the digits of a given number, providing a detailed explanation and sample code.
Steps to Find the Sum of Digits
To solve this problem, follow these steps:
- Input the Number: Read the number from the user.
- Extract Each Digit: Use a loop to extract each digit of the number.
- Sum the Digits: Add each extracted digit to a sum variable.
- Print the Result: Output the sum to the console.
Write a C program to find sum of digits of a number
Here's a C program to find the sum of the digits of a number:
#include <stdio.h>
int main() {
int number, digit, sum = 0;
// Input the number
printf("Enter an integer: ");
scanf("%d", &number);
// Calculate the sum of digits
while (number != 0) {
digit = number % 10; // Extract the last digit
sum += digit; // Add the digit to the sum
number /= 10; // Remove the last digit
}
// Print the result
printf("Sum of the digits: %d", sum);
return 0;
}
Output
Enter an integer: 1234
Sum of the digits: 10
Explanation
- Input the Number: The program prompts the user to enter an integer. The
scanffunction reads the input number and stores it in the variablenumber. - Extract Each Digit:
- The
whileloop continues as long asnumberis not equal to0. - The last digit is extracted using the modulus operator (
%). For example, ifnumberis1234,digit = 1234 % 10will result indigit = 4.
- The
- Sum the Digits:
- The extracted digit is added to the variable
sum. For the initial iteration,sum = 0 + 4results insum = 4. - The last digit is removed from
numberusing integer division (/). For example,number = 1234 / 10results innumber = 123.
- The extracted digit is added to the variable
- Repeat: The loop continues, extracting and summing each digit until
numberis0. - Print the Result: The program prints the sum of the digits to the console using the
printffunction.
Detailed Steps
- Step 1: Input the Number
- Use
printfto prompt the user for input. - Use
scanfto read the number from the user.
- Use
- Step 2: Extract Each Digit
- Use a
whileloop to continue processing as long asnumberis not zero. - Use the modulus operator (
%) to get the last digit of the number.
- Use a
- Step 3: Sum the Digits
- Add the extracted digit to the
sumvariable. - Remove the last digit from the number using integer division (
/).
- Add the extracted digit to the
- Step 4: Print the Result
- Use
printfto display the sum of the digits.
- Use
Example
For an input of 1234, the program will:
- Extract
4and add it tosum(sum = 4). - Extract
3and add it tosum(sum = 7). - Extract
2and add it tosum(sum = 9). - Extract
1and add it tosum(sum = 10).
The output will be Sum of the digits: 10.