C Program to Count Alphabets Digits and Special Characters in a String

How to write a C Program to Count Alphabets Digits and Special Characters in a String with example?. For this, we are going to use the Built-in function isalpha, isdigit, and ASCII Codes.

C Program to Count Alphabets Digits and Special Characters in a String Example 1

This C program allows the user to enter a string (or character array). And then it will check, how many numbers of Alphabets, digits, and Special Character inside that string. In this program, we are using the alphabets and digits directly inside the Else If Statement.

/* C Program to count Alphabets Digits and Special Characters in a String */
 
#include <stdio.h>
 
int main()
{
  	char str[100];
  	int i, alphabets, digits, special;
  	i = alphabets = digits = special = 0;
 
  	printf("\n Please Enter any String  :  ");
  	gets(str);
  	
  	while (str[i] != '\0')
  	{
  		if( (str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z') )
  		{
  			alphabets++;  	
 		}
  		else if (str[i] >= '0' && str[i] <= '9')
  		{
  			digits++;  	
  		}    
  		else
    		special++;
    	i++;
	}
    printf("\n Number of Alphabets in this String = %d", alphabets);  
	printf("\n Number of Digits in this String = %d", digits);  
	printf("\n Number of Special Characters in this String = %d", special);  	
  
  	return 0;
}
C Program to count Alphabets Digits and Special Characters in a String 1

First, we used While Loop to iterate each character in a String.

From the above C Programming screenshot you can observe that,
str[] = [email protected]!
i = alphabets = digits = special = 0

While Loop First Iteration: while (str[ i ] != 0)
The condition is True because str[0] = H.

Within the While Loop, we used Else If Statement to check whether it is an Alphabet, digit, or Special Characters.

if( (str[i] >= ‘a’ && str[i] <= ‘z’) || (str[i] >= ‘A’ && str[i] <= ‘Z’) )
=> if( (H >= ‘a’ && H <= ‘z’) || (H >= ‘A’ && H <= ‘Z’) )
From the above if statement, H >= ‘A’ && H <= ‘Z’ condition returns true. So, alphabets++
It means alphabets = 1

Second Iteration: while (str[ 1 ] != 0)
The condition is True because str[1] = i.
if( (i >= ‘a’ && i <= ‘z’) || (i >= ‘A’ && i <= ‘Z’) )
From the above if statement, i >= ‘a’ && i <= ‘z’ condition returns true. So, alphabets++
It means alphabets = 2

Third Iteration: while (str[ 2 ] != 0)
The condition is True because str[2] = @.
if( (@ >= ‘a’ && @ <= ‘z’) || (@ >= ‘A’ && @ <= ‘Z’) ) – Condition Fails
else if (@ >= ‘0’ && @ <= ‘9’)  – Condition Fails
So, it will execute the statement inside the Else block. So, special++
It means special = 1

Do the same for remaining iterations

C Program to Count Alphabets Digits and Special Characters in a String Example 2

In this program, we are using For Loop to iterate each character in a String. Next, we used the ASCII values to check whether the individual character of a string is Alphabet, Digit, or special character. I suggest you refer the ASCII Table to under the ASCII values of each character.

/* C Program to count Alphabets Digits and Special Characters in a String */
 
#include <stdio.h>
 
int main()
{
  	char str[100];
  	int i, alphabets, digits, special;
  	alphabets = digits = special = 0;
 
  	printf("\n Please Enter any String :  ");
  	gets(str);
  	
  	for(i = 0; str[i] != '\0'; i++)
  	{
  		if (str[i] >= 48 && str[i] <= 57)
  		{
  			digits++;  	
 		}
  		else if( (str[i] >= 65 && str[i] <= 90) || (str[i] >= 97 && str[i] <= 122) )
  		{
  			alphabets++; 	
  		}    
  		else
    		special++;
	}
    printf("\n Number of Alphabets in this String = %d", alphabets);  
	printf("\n Number of Digits in this String = %d", digits);  
	printf("\n Number of Special Characters in this String = %d", special);  	
  
  	return 0;
}
 Please Enter any String :  Hello! 1234! 5World!

 Number of Alphabets in this String = 10
 Number of Digits in this String = 5
 Number of Special Characters in this String = 5

C Program to Count Alphabets Digits and Special Characters in a String Example 3

In this example, we are using built-in functions isalpha, and isdigit to check whether each character in a given string is Alphabet or Digit

/* C Program to count Alphabets Digits and Special Characters in a String */
 
#include <stdio.h>
#include<ctype.h>
 
int main()
{
  	char str[100];
  	int i, alphabets, digits, special;
  	alphabets = digits = special = 0;
 
  	printf("\n Please Enter any String :  ");
  	gets(str);
  	
  	for(i = 0; str[i] != '\0'; i++)
  	{
  		if (isalpha(str[i]))
  		{
  			alphabets++;  	
 		}
  		else if(isdigit(str[i]))
  		{
  			digits++; 	
  		}    
  		else
    		special++;
	}
    printf("\n Number of Alphabets in this String = %d", alphabets);  
	printf("\n Number of Digits in this String = %d", digits);  
	printf("\n Number of Special Characters in this String = %d", special);  	
  
  	return 0;
}
 Please Enter any String :  abcd [email protected]#$ 14789235

 Number of Alphabets in this String = 4
 Number of Digits in this String = 8
 Number of Special Characters in this String = 7

C Program to find Alphabets Digits and Special Characters in a String Example 4

This C program for alphabets, Digits, and special Characters is the same as the first example, but this time we are using pointers.

/* C Program to count Alphabets Digits and Special Characters in a String */
 
#include <stdio.h>
 
int main()
{
  	char str[100];
  	char *s = str;
  	int alphabets, digits, special;
  	alphabets = digits = special = 0;
 
  	printf("\n Please Enter any String : ");
  	gets(str);
  	
  	while (*s)
  	{
  		if( (*s >= 'a' && *s <= 'z') || (*s >= 'A' && *s <= 'Z') )
  		{
  			alphabets++;  	
 		}
  		else if (*s >= '0' && *s <= '9')
  		{
  			digits++;  	
  		}    
  		else
    		special++;
    	s++;
	}
    printf("\n Number of Alphabets in this String = %d", alphabets);  
	printf("\n Number of Digits in this String = %d", digits);  
	printf("\n Number of Special Characters in this String = %d", special);  	
  
  	return 0;
}
 Please Enter any String : tutorial1234gateway.org

 Number of Alphabets in this String = 18
 Number of Digits in this String = 4
 Number of Special Characters in this String = 1