String Exercises
Write a C program to find minimum occurring character in a string using loop. How to find lowest frequency character in a string using loop in C programming. Program to find minimum frequency character in a given string in C. Logic to find least occurring character in a given string.
Required knowledge
Basic C programming, C for loop, Array, functions, Strings
Logic to find minimum occurring character in string
Below is the step by step descriptive logic to find minimum occurring character in a given string.
- Input string from user, store it in some variable say str.
- Declare another array to store frequency of all alphabets, say freq[26]. I have declared size of freq as 26 since there are 26 alphabets in English.
- Initialize frequencies of all alphabets in freq array to 0.
- Find frequency of each character present in the string.
- Minimum occurring character in string is minimum occurring value in the freq array.
Program to find lowest frequency character in string
/** * C program to find minimum occurring character in a string */ #include <stdio.h> #define MAX_SIZE 100 // Maximum string size #define MAX_CHARS 255 // Maximum characters allowed int main() { char str[MAX_SIZE]; int freq[MAX_CHARS]; //Stores frequency of each character int i = 0, min; int ascii; printf("Enter any string: "); gets(str); /* Initialize frequency of all characters to 0 */ for(i=0; i<MAX_CHARS; i++) { freq[i] = 0; } /* Finds frequency of each characters */ i=0; while(str[i] != '\0') { ascii = (int)str[i]; freq[ascii] += 1; i++; } /* Finds minimum frequency */ min = 0; for(i=0; i<MAX_CHARS; i++) { if(freq[i] != 0) { if(freq[min] == 0 || freq[i] < freq[min]) min = i; } } printf("Minimum occurring character is '%c' = %d.", min, freq[min]); return 0; }