c语言实现统计英文字符串的字符分布,即统计该字符串中每个字符的数量,只统计英文字母,不区分大小写,忽略其他非字母字符。输出按照 “字符:数量” 显示,每行一个结果,字符按字母表升序排列。
时间: 2024-03-20 21:39:12 浏览: 44
好的,可以使用一个长度为26的数组来记录每个字母出现的次数,首先需要将字符串中的所有字母转换为小写字母,然后遍历字符串并进行统计。可以使用isalpha函数判断一个字符是否为字母,如果是则进行统计。最后按照字母表的顺序输出结果。
下面是示例代码:
```c
#include <stdio.h>
#include <ctype.h>
void print_char_count(int char_count[]) {
for (int i = 0; i < 26; i++) {
if (char_count[i] > 0) {
printf("%c:%d\n", i + 'a', char_count[i]);
}
}
}
void count_chars(char *str) {
int char_count[26] = {0};
while (*str != '\0') {
if (isalpha(*str)) {
char_count[tolower(*str) - 'a']++;
}
str++;
}
print_char_count(char_count);
}
int main() {
char str[] = "Hello, World!";
count_chars(str);
return 0;
}
```
输出结果为:
```
d:1
e:1
h:1
l:3
o:2
r:1
w:1
```
阅读全文