📅  最后修改于: 2023-12-03 14:40:26.853000             🧑  作者: Mango
在C语言中,我们可以使用数组来查找字符串中字符的频率。下面是一个简单的程序,用于计算字符串中每个字符的频率。
#include <stdio.h>
#include <string.h>
#define MAX_CHARS 256
int main() {
char str[MAX_CHARS];
int freq[MAX_CHARS] = {0};
int i, len;
printf("请输入一个字符串: ");
gets(str);
len = strlen(str);
for(i = 0; i < len; i++) {
freq[str[i]]++;
}
printf("\n字符 | 频率\n");
printf("--------------\n");
for(i = 0; i < MAX_CHARS; i++) {
if(freq[i]) {
printf("%c | %d\n", i, freq[i]);
}
}
return 0;
}
这个C程序使用了一个长度为256的数组freq
来记录字符串中每个字符出现的次数。首先,通过gets()
函数读取用户输入的字符串,并使用strlen()
函数计算出字符串长度。然后,遍历整个字符串,对于每个字符,将对应的freq
数组中的元素加1。最后,再遍历一次数组,输出每个字符出现的次数。
下面是一个运行示例:
请输入一个字符串: Hello, World!
字符 | 频率
--------------
| 1
! | 1
, | 1
H | 1
W | 1
d | 1
e | 1
l | 3
o | 2
r | 1
该程序输出了输入字符串中每个字符的出现次数,其中空格也被计算在内。