C program to add digits of a number: Here we are using modulus operator(%) to extract individual digits of number and adding them.
C programming code
C programming code
#include <stdio.h>
#include<conio.h>
void main()
{
int n, sum = 0, remainder;
printf("Enter an integer\n");
scanf("%d",&n);
while(n != 0)
{
remainder = n % 10;
sum = sum + remainder;
n = n / 10;
}
printf("Sum of digits of entered number = %d\n",sum);
getch();
}
For example if the input is 98, sum(variable) is 0 initially
98%10 = 8 (% is modulus operator which gives us remainder when 98 is divided by 10).
sum = sum + remainder
so sum = 8 now.
98/10 = 9 because in c whenever we divide integer by another integer we get an integer.
9%10 = 9
sum = 8(previous value) + 9
sum = 17
9/10 = 0.So finally n = 0, loop ends we get the required sum.
sum = sum + remainder
so sum = 8 now.
98/10 = 9 because in c whenever we divide integer by another integer we get an integer.
9%10 = 9
sum = 8(previous value) + 9
sum = 17
9/10 = 0.So finally n = 0, loop ends we get the required sum.
Add digits using recursion
#include <stdio.h>
#include<conio.h>
int add_digits(int);
void main()
{
int n, result;
scanf("%d", &n);
result = add_digits(n);
printf("%d\n", result);
getch();
}
int add_digits(int n)
{
static int sum = 0;
if (n == 0) {
return 0;
}
sum = n%10 + add_digits(n/10);
return sum;
}
No comments:
Post a Comment