使用c语言输入一个英文句子,统计每个字符出现的次数,并以字母顺序输出
时间: 2023-12-19 07:05:48 浏览: 98
好的,以下是实现该功能的 C 语言代码:
```c
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#define MAX_LEN 1000 // 假设输入的句子最长为 1000 个字符
int main() {
char sentence[MAX_LEN];
int char_count[26] = {0}; // 统计每个字符出现的次数,初始值都为 0
printf("请输入一个英文句子:");
fgets(sentence, MAX_LEN, stdin); // 从标准输入读取一行文本
// 遍历句子中的每个字符,统计出现次数
for (int i = 0; i < strlen(sentence); i++) {
char c = tolower(sentence[i]); // 将字符转换为小写字母
if (isalpha(c)) { // 只统计字母,忽略空格、标点符号等其他字符
char_count[c - 'a']++; // 将该字母对应的计数器加 1
}
}
// 按字母顺序输出每个字符及其出现次数
for (char c = 'a'; c <= 'z'; c++) {
if (char_count[c - 'a'] > 0) { // 如果该字母出现过,输出其计数器的值
printf("%c: %d\n", c, char_count[c - 'a']);
}
}
return 0;
}
```
运行程序后,输入一个英文句子,程序会输出每个字母及其出现次数,按字母顺序排列。例如,输入 "Hello, world!",程序输出:
```
d: 1
e: 1
h: 1
l: 3
o: 2
r: 1
w: 1
```