📜  C程序查找字符串中字符的频率(1)

📅  最后修改于: 2023-12-03 14:40:26.853000             🧑  作者: Mango

C程序查找字符串中字符的频率

在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

该程序输出了输入字符串中每个字符的出现次数,其中空格也被计算在内。