Skip to content

Instantly share code, notes, and snippets.

@dbc2201
Created November 22, 2018 17:10
Show Gist options
  • Save dbc2201/00731f36f684c1404e73135d799e4eb8 to your computer and use it in GitHub Desktop.
Save dbc2201/00731f36f684c1404e73135d799e4eb8 to your computer and use it in GitHub Desktop.
#include <stdio.h>
int main(void)
{
int number = 0;
int digit = 0;
int sum = 0;
printf("Enter the five digit number : ");
scanf("%d", &number);
while ( number > 0 )
{
digit = number % 10;
sum = sum + digit;
number = number / 10;
}
printf("The sum of the digits is %d", sum);
return 0;
}
@dbc2201
Copy link
Author

dbc2201 commented Nov 22, 2018

In this code, we are trying to retrieve the sum of the digits of a number. Though we have been already told that the number is going to be 5 digits, the code works for the numbers that are not.


Explanation :
the code inputs an integer value in the integer variable number.
This is the number that we have to calculate the sum of digits for. Let us assume the number was 12345.
So, what we have done is, we have taken the number and done

  1. digit = number % 10
    This will fetch the digit on the one's place.
    In this case, 12345 % 10 = 5
    Hence the value of the variable digit is right now 5.
  2. sum = sum + digit
    Now, we are storing the value of digit to a variable sum.
    sum has the value 0, sum --> 0, sum = sum + digit will yield, sum --> 5
  3. number = number / 10
    We have updated the value of number after dividing it by 10.
    number --> 12345 / 10 = 1234
    We will repeat all the above steps until the number is greater than 0

Dry Run :

number = 12345
digit = number % 10
digit --> 5
sum = sum + digit
sum = 0 + 5
sum --> 5
number = number / 10
number = 12345 / 10
number --> 1234
---------------------------------
number = 1234
digit = number % 10
digit --> 4
sum = sum + digit
sum = 5 + 4
sum --> 9
number = number / 10
number = 1234 / 10
number --> 123
---------------------------------
number = 123
digit = number % 10
digit --> 3
sum = sum + digit
sum = 9 + 3
sum --> 12
number = number / 10
number = 123 / 10
number --> 12
---------------------------------
number = 12
digit = number % 10
digit --> 2
sum = sum + digit
sum = 12 + 2
sum --> 14
number = number / 10
number = 12 / 10
number --> 1
---------------------------------
number = 1
digit = number % 10
digit --> 1
sum = sum + digit
sum = 14 + 1
sum --> 15
number = number / 10
number = 1 / 10
number --> 0
---------------------------------

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment