The Program in C to read in a string and output the frequency, of each character in that string is given below:
#include <stdio.h>
#include <string.h>
int main() {
char str[1000];
int freq[256] = { 0 };
int i, len;
printf("Enter a string: ");
scanf("%[^\n]s", str);
len = strlen(str);
for (i = 0; i < len; i++) {
freq[(int) str[i]]++;
}
printf("Character Frequency\n");
for (i = 0; i < 256; i++) {
if (freq[i] != 0) {
printf("%c \t\t %d\n", (char) i, freq[i]);
}
}
return 0;
}
Output:
Enter a string: Hello World
Character Frequency
2
H 1
W 1
d 1
e 1
l 3
o 2
r 1
Pro-Tips💡
This program prompts the user to enter a string and reads it using scanf(“%[^\n]s”, str).
It uses an array freq[] of size 256 to store the frequency of each character, since there are 256 ASCII characters.
It then loops through the string and increments the count of freq[str[i]] for each character str[i].
Finally, it prints the frequency of each character by looping through the freq[] array.
It uses character and its corresponding ASCII value to find the frequency of the character.
Please note that this program does not check for the validity of the input, you may want to add some validation on the input to make sure that the input is a valid string.
Learn C-Sharp ↗
C-sharp covers every topic to learn about C-Sharp thoroughly.
Learn C Programming ↗
C-Programming covers every topic to learn about C-Sharp thoroughly.
Learn C++ Programming↗
C++ covers every topic to learn about C-Sharp thoroughly.