编写一个 C 语言程序,找出字符串中每个字符的频率,并附带示例。
C 语言查找字符串中每个字符的频率程序 示例 1
此程序允许用户输入一个字符串(或字符数组)。接下来,它将找出此字符串中存在的每个字符的频率。
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
int i;
int freq[256] = {0};
printf("\n Please Enter any String : ");
gets(str);
for(i = 0; str[i] != '\0'; i++)
{
freq[str[i]]++;
}
for(i = 0; i < 256; i++)
{
if(freq[i] != 0)
{
printf("Character '%c' Occurs %d Times \n", i, freq[i]);
}
}
return 0;
}

查找字符串中每个字符的频率程序 示例 2
此字符频率程序与上述程序相同,但我们对 C 编程逻辑进行了一些小的更改。
/* C Program to Find Frequency of each Character in a String */
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
int i;
int freq[26] = {0};
printf("\n Please Enter any String : ");
gets(str);
for(i = 0; str[i] != '\0'; i++)
{
if(str[i] >= 'a' && str[i] <= 'z')
{
freq[str[i] - 'a']++;
}
else if(str[i] >= 'A' && str[i] <= 'Z')
{
freq[str[i] - 'A']++;
}
}
for(i = 0; i < 26; i++)
{
if(freq[i] != 0)
{
printf("Character '%c' Occurs %d Times \n", i+'a', freq[i]);
}
}
return 0;
}
Please Enter any String : Tutorial Gateway
Character 'a' Occurs 3 Times
Character 'e' Occurs 1 Times
Character 'g' Occurs 1 Times
Character 'i' Occurs 1 Times
Character 'l' Occurs 1 Times
Character 'o' Occurs 1 Times
Character 'r' Occurs 1 Times
Character 't' Occurs 3 Times
Character 'u' Occurs 1 Times
Character 'w' Occurs 1 Times
Character 'y' Occurs 1 Times
示例 3
此字符频率 程序 与第二个示例相同,但这次我们使用了 函数 概念来分离逻辑。
#include <stdio.h>
#include <string.h>
void Freq_eachCharacter(char *str);
int main()
{
char str[100];
printf("\n Please Enter any String : ");
gets(str);
Freq_eachCharacter(str);
return 0;
}
void Freq_eachCharacter(char *str)
{
int i;
int freq[26] = {0};
for(i = 0; str[i] != '\0'; i++)
{
if(str[i] >= 'a' && str[i] <= 'z')
{
freq[str[i] - 'a']++;
}
else if(str[i] >= 'A' && str[i] <= 'Z')
{
freq[str[i] - 'A']++;
}
}
for(i = 0; i < 26; i++)
{
if(freq[i] != 0)
{
printf("Character '%c' Occurs %d Times \n", i+'a', freq[i]);
}
}
}
Please Enter any String : C Programming
Character 'a' Occurs 1 Times
Character 'c' Occurs 1 Times
Character 'g' Occurs 2 Times
Character 'i' Occurs 1 Times
Character 'm' Occurs 2 Times
Character 'n' Occurs 1 Times
Character 'o' Occurs 1 Times
Character 'p' Occurs 1 Times
Character 'r' Occurs 2 Times