w3resource

C Programming: Find the Frequency of Characters

C String: Exercise-18 with Solution

Write a program in C to Find the Frequency of Characters.

C Programming: Find the Frequency of Characters

Sample Solution:

C Code:

#include <stdio.h>
void main(){
   char str[1000],choice;
   int i,ctr=0;
   
       printf("\n\nFind the Frequency of Characters :\n");
       printf("--------------------------------------\n");	
	   
	printf("Input the string : ");
    fgets(str,sizeof str,stdin);
	
   printf("Input the character to find frequency: ");
   scanf("%c",&choice);
   for(i=0;str[i]!='\0';++i)
   {
       if(choice==str[i])
           ++ctr;
   }
   printf("The frequency of '%c' is : %d\n\n", choice, ctr);
}

Sample Output:

Find the Frequency of Characters :                                                                                            
--------------------------------------                                                                                        
Input the string : This is a test string                                                                                      
Input the character to find frequency: i                                                                                      
The frequency of 'i' is : 3

Flowchart :

Flowchart: Find the Frequency of Characters

C Programming Code Editor:

Improve this sample solution and post your code through Disqus.

Previous: Write a program in C to remove characters in String Except Alphabets.
Next: Write a program in C to Concatenate Two Strings Manually.

What is the difficulty level of this exercise?



C Programming: Tips of the Day

Is there a way to specify how many characters of a string to print out using printf()?

The basic way is:

printf ("Here are the first 8 chars: %.8s\n", "A string that is more than 8 chars"); 

The other, often more useful, way is:

printf ("Here are the first %d chars: %.*s\n", 8, 8, "A string that is more than 8 chars"); 

Here, you specify the length as an int argument to printf(), which treats the '*' in the format as a request to get the length from an argument.

You can also use the notation:

printf ("Here are the first 8 chars: %*.*s\n",
        8, 8, "A string that is more than 8 chars"); 

This is also analogous to the "%8.8s" notation, but again allows you to specify the minimum and maximum lengths at runtime - more realistically in a scenario like:

printf("Data: %*.*s Other info: %d\n", minlen, maxlen, string, info); 

The POSIX specification for printf() defines these mechanisms.

Ref: https://bit.ly/395Zj2j