C Program to calculate sum of all Integers of a string

How to count integers in a string and also find its sum?

In this C program, we need to calculate the number of integers in a string and its sum. For example, consider a string "learn C programming 12", where we have two integers, so make the count as '2' and the sum of the integers as '1 + 2 = 3'.

To implement this program logic in C, we accept a value from the user with both integers and alphabets. Start a for loop from zero to the end of the string to check if there any integers. Then inside a for loop check the string character is greater than zero and less than or equal to 9 using an 'if' condition. if so, increment the counter by 1 and add that number to the sum. Finally, we display the output as the sum of integers in a string, both sum, and count.

The syntax of the if condition statement is.

if (testExpression) {

  // codes inside the body of if


If the test expression is True, we execute the if statement. But if the test expression is False, We skip the code inside the if statement.


STEP 1: Include the header files to use the built-in functions in the C program.

STEP 2: Declare the integer variable count,nc,sum and set nc=0,sum=0.

STEP 3: Declare a variable as a type of character.

STEP 4: Read from the user into the variable string.

STEP 5: By using the for loop set count=0,check str[count]!='\0' then do step 6.

STEP 6: Check if str[count]>0 and str[count]<=9 then nc=nc+1,sum=sum+str[count]-0.

STEP 7: Display the number of digits in the string as NC.

STEP 8: Display the Sum of all digits as a sum.

To count the integers in a string in C. we need to learn the below topics, please refer to those for a better understanding

C Source Code

                                          #include <stdio.h>

void main() {
  char str[80];
  int count, nc = 0, sum = 0;
  printf("Enter the string containing both digits and alphabet\n");
  scanf("%s", & str);
  for (count = 0; str[count] != '\0'; count++) /* check the string for any integers */ {
    if ((str[count] >= '0') && (str[count] <= '9')) /* check and add the integers  in to a variable called sum  */ {
      nc += 1;
      sum += (str[count] - '0');
    } /* End of if */
  } /* End of For */
  printf("NO. of Digits in the string=%d\n", nc);
  printf("Sum of all digits=%d\n", sum);
} /* End of main() */


Enter the string containing both digits and alphabet

NO. of Digits in the string=2
Sum of all digits=7