如何使用C语言编写一个程序来统计字符串中每个字符及其出现的次数?
时间: 2024-09-28 21:09:47 浏览: 34
在C语言中,你可以通过遍历字符串数组并使用哈希表(如数组或结构体数组)来统计每个字符及其出现的次数。这里是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
#define CHAR_COUNT 256 // 用于存储ASCII字符
typedef struct {
char ch;
int count;
} CharCount;
void count_chars(char *str) {
CharCount char_counts[CHAR_COUNT] = {0}; // 初始化计数数组
int len = strlen(str);
for (int i = 0; i < len; i++) {
char_counts[str[i]]++; // 如果字符已存在,计数加一;否则创建新条目并设为1
}
// 打印结果
for (int i = 0; i < CHAR_COUNT; i++) {
if (char_counts[i].count > 0) {
printf("字符 '%c' 出现了 %d 次\n", i, char_counts[i].count);
}
}
}
int main() {
char str[] = "Hello, World!";
count_chars(str);
return 0;
}
```
在这个程序中,我们首先创建了一个大小为`CHAR_COUNT`的`CharCount`数组,然后遍历输入字符串,将每个遇到的字符对应的计数增加。最后,遍历整个数组,打印出所有非零计数的字符。
阅读全文