C Program to Find the Frequency of Characters in a String

Here, we will write a C program to find the occurrence of a character in a string. Before that, you may go through the following topic in C.

We will look at two examples to calculate the frequency of characters in a string.

  1. For a particular character.
  2. For all the character in a string

C Program to Find the Frequency of Characters in a String (for a particular character)

Both the string and the character whose frequency needed to be found are entered by the user.

The questions: write a program in C to find the frequency of any given character in a given string

#include <stdio.h>

int main()
{
  char str[100], ch;
  int count = 0, i;

  printf("Enter the string: ");
  fgets(str, sizeof(str), stdin);

  printf("Enter a character whose frequency is to be found: ");
  scanf("%c", &ch);

  for (i = 0; str[i] != '\0'; ++i)
  {
    if (ch == str[i])
      ++count;
  }

  printf("\nFrequency of %c = %d", ch, count);
  return 0;
}

Output:

Enter the string: This is simple2code.com
Enter a character whose frequency is to be found: i

Frequency of i = 3


C Program to Find the Frequency of Characters in a String (for all the characters)

The user needs to enter the string and the number of occurrences for each character will be displayed.

#include <stdio.h>
#include <string.h>

int main()
{
  char str[100], ch;
  int i, j, k, len, count = 0;

  printf("Enter the string: ");
  scanf("%s", str);

  len = strlen(str);

  for (i = 0; i < len; i++)
  {
    ch = str[i];
    for (j = 0; j < len; j++)
    {
      if (ch == str[j])
      {
        count++;
        for (k = j; k < (len - 1); k++)
          str[k] = str[k + 1];

        len--;
        str[len] = '\0';
        j--;
      }
    }

    printf("Frequency of %c = %d\n", ch, count);
    count = 0;
    i--;
  }

  return 0;
}

Output:

Enter the string: simple2code.com
Frequency of s = 1
Frequency of i = 1
Frequency of m = 2
Frequency of p = 1
Frequency of l = 1
Frequency of e = 2
Frequency of 2 = 1
Frequency of c = 2
Frequency of o = 2
Frequency of d = 1
Frequency of . = 1