C Program to Sum Up Digits Of A Number

How to write a C Program to Sum Up Digits of a Number in C Programming Language ?


Solution:
  1. #include<stdio.h>
  2. int main()
  3. {
  4.     int i,divisor,casted,digit,number,sum=0;
  5.     long int m;
  6.  
  7.     printf("Number of digits in your number : ");
  8.     scanf("%d", &digit);
  9.  
  10.     int ara[digit];
  11.  
  12.     printf("\nEnter number : ");
  13.     scanf("%d", &number);
  14.  
  15.     if(digit==1)
  16.         m=1;
  17.     else if(digit==2)
  18.         m=10;
  19.     else if(digit==3)
  20.         m=100;
  21.     else if(digit==4)
  22.         m=1000;
  23.     else if(digit==5)
  24.         m=10000;
  25.     else if(digit==6)
  26.         m=100000;
  27.     else if(digit==7)
  28.         m=1000000;
  29.     else if(digit==8)
  30.         m=10000000;
  31.     else if(digit==9)
  32.         m=100000000;
  33.     else if(digit==10)
  34.         m=1000000000;
  35.     else if(digit==11)
  36.         m=10000000000;
  37.     for(i=0,divisor=10; i<digit; i++, m=m/10) {
  38.         casted=(int)number/m;
  39.         ara[i]=casted%divisor;
  40.     }
  41.     for(i=0; i<digit; i++){
  42.         sum=sum+ara[i];
  43.     }
  44.     printf("%d\n",sum);
  45. }


Learn More :