C语言输入一个英文句子,统计每个字符出现的次数,并以字母顺序输出 如 a 2 c 1 d 1
时间: 2024-02-13 10:03:22 浏览: 26
好的,这是一个比较经典的 C 语言编程问题,我可以为您提供代码实现。
```c
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#define MAX_LEN 1000
int main() {
char str[MAX_LEN];
int count[26] = {0};
printf("请输入一个英文句子:\n");
fgets(str, MAX_LEN, stdin);
for (int i = 0; str[i] != '\0'; i++) {
if (isalpha(str[i])) {
count[tolower(str[i]) - 'a']++;
}
}
printf("每个字符出现的次数如下:\n");
for (int i = 0; i < 26; i++) {
if (count[i] > 0) {
printf("%c %d\n", i + 'a', count[i]);
}
}
return 0;
}
```
这个程序首先定义了一个长度为 `MAX_LEN` 的字符数组 `str` 和一个长度为 26 的整型数组 `count`,用于记录每个字符出现的次数。然后从标准输入中读入一个英文句子,并遍历句子中的每个字符,如果是字母则将对应的计数器加一。最后按照字母顺序输出每个字符出现的次数。
希望这个程序能够解决您的问题!