输入一行英文句子,统计其中的单词个数(这里的单词是指有>=1个大小写字母连续出现所组成的子串,非大小写字母出现可认为一个单词结束)。句子长度不超过50。 例如“Hello world!”单词个数为2。c语言
时间: 2024-06-13 11:09:14 浏览: 56
```c
#include <stdio.h>
#include <ctype.h>
#define MAX_LEN 50
int main() {
char sentence[MAX_LEN + 1];
fgets(sentence, MAX_LEN + 1, stdin); // 读入一行字符串
int count = 0;
int word_count[26] = {0}; // 记录每个单词出现的次数
for (int i = 0; sentence[i] != '\0' && sentence[i] != '\n'; i++) {
if (isalpha(sentence[i])) { // 如果是字母
if (i == 0 || !isalpha(sentence[i - 1])) { // 如果是单词的第一个字母
count++; // 单词数量加1
word_count[tolower(sentence[i]) - 'a']++; // 对应单词出现次数加1
}
}
}
printf("%d\n", count); // 输出单词数量
if (count <= 10) { // 如果不同的单词数量不超过10个
for (int i = 0; i < 26; i++) {
if (word_count[i] > 0) {
printf("%c", 'a' + i); // 输出字母
}
}
} else { // 如果不同的单词数量超过10个
for (int i = 0; i < 10; i++) {
int max_index = 0;
for (int j = 1; j < 26; j++) {
if (word_count[j] > word_count[max_index]) {
max_index = j; // 找到出现次数最多的单词
}
}
if (word_count[max_index] == 0) { // 如果所有单词都已经输出
break;
}
printf("%c", 'a' + max_index); // 输出字母
word_count[max_index] = 0; // 将该单词出现次数清零
}
}
return 0;
}
```
--相关问题--:
1. 如何统计一篇文章中不同单词的数量?
2. 如何判断
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)