7-5 统计单词的长度 (15 分)
时间: 2023-04-24 08:06:41 浏览: 221
这道题目的意思是要求我们统计一段文本中每个单词的长度,并输出每个长度出现的次数。具体的做法可以使用哈希表来实现,遍历文本中的每个单词,统计其长度并将其作为键值存入哈希表中,每次出现相同长度的单词则将对应的值加一。最后遍历哈希表输出每个长度及其出现次数即可。
相关问题
拼题a答案c语言浙大统计单词长度
在C语言中,浙江大学统计单词长度的问题通常涉及字符串处理。如果你想编写一个程序来计算输入字符串中单词的平均长度,你可以按照以下步骤:
```c
#include <stdio.h>
#include <string.h> // 包含字符串处理函数
// 函数来统计单词长度并返回平均值
float avg_word_length(char* sentence) {
int word_count = 0;
float total_length = 0;
char current_char;
bool in_word = false;
for (current_char = *sentence; current_char != '\0'; ++current_char) {
if (isalpha(current_char)) { // 判断字符是否为字母
if (!in_word) {
in_word = true;
word_count++;
}
total_length += 1; // 字母也算作一个单词单位
} else if (in_word) { // 如果遇到非字母字符且当前在单词中
in_word = false;
}
}
// 如果最后一个字符是字母,也要计入长度
if (in_word && isalpha(current_char)) {
total_length++;
}
return total_length / word_count; // 返回平均长度
}
int main() {
char input[100];
printf("请输入句子:");
fgets(input, sizeof(input), stdin); // 从用户那里获取输入
input[strcspn(input, "\n")] = '\0'; // 移除换行符
float length = avg_word_length(input);
printf("单词平均长度:%.2f\n", length);
return 0;
}
```
这个程序会提示用户输入一句话,然后计算其中单词的平均长度,并保留两位小数。
C语言统计单词的长度
在C语言中统计单词的长度通常涉及到字符串处理。你可以通过遍历字符串,遇到空格或其他分隔符就停止计数,然后累加字符直到下一个分隔符。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h>
int word_length(char str[]) {
int len = 0;
while (str[len] != '\0') { // 遍历到字符串结束前
if (str[len] == ' ' || str[len] == '\t' || str[len] == '\n') { // 分隔符包括空格、制表符和换行符
break; // 如果找到分隔符,则停止计数
}
len++; // 每次检查下一个字符
}
return len; // 返回单词的实际长度
}
int main() {
char input[] = "Hello, world! This is a test.";
int length = word_length(input);
printf("The word length of '%s' is %d.\n", input, length);
return 0;
}
```
在这个例子中,`word_length`函数计算输入字符串中第一个单词的长度。如果你想统计整个字符串中的所有单词长度,你需要对每个单词分别调用这个函数。
阅读全文