c语言+统计单词的平均长度
时间: 2024-01-10 18:04:29 浏览: 141
以下是一个C语言程序,可以实现输入一行字符,统计每个单词的长度,并计算单词的平均长度:
```c
#include <stdio.h>
#include <string.h>
int main() {
char s[1000];
int len = 0, cnt = 0;
while (~scanf("%s", s)) {
len += strlen(s);
cnt++;
if (getchar() == '\n') {
break;
}
}
if (cnt == 0) {
printf("0\n");
} else {
printf("%.2f\n", (double)len / cnt);
}
return 0;
}
```
程序的思路是先读入一行字符,然后使用`strlen`函数计算每个单词的长度,并累加到`len`变量中,同时统计单词的个数,累加到`cnt`变量中。最后,如果`cnt`为0,则输出0;否则,输出`len/cnt`的值,即单词的平均长度。
相关问题
拼题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语言编程:写一个程序读入一条句子中的所有单词,并计算该语句中所有单词的平均长度。假定句子以换行结束,单词间用空格分隔,并且每个单词长度不超过25个字符。 **提示信息:"请输入一行字符:" **输出格式要求:"总共有%d个单词,平均长度为%d\n"
好的,以下是用C语言编写的程序,可以实现读入一条句子中的所有单词,并计算该语句中所有单词的平均长度:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char sentence[1000]; // 用于存储输入的句子
int count = 0; // 统计单词个数
int sum = 0; // 统计单词长度之和
int len; // 存储当前单词的长度
printf("请输入一行字符:");
fgets(sentence, sizeof(sentence), stdin); // 读入一行字符,存储在sentence中
char* p = strtok(sentence, " "); // 使用空格作为分隔符,获取第一个单词
while (p != NULL) // 如果还有下一个单词
{
count++; // 单词个数加1
len = strlen(p); // 获取当前单词的长度
sum += len; // 单词长度之和加上当前单词的长度
p = strtok(NULL, " "); // 获取下一个单词
}
int average = count > 0 ? sum / count : 0; // 计算平均长度,注意防止除数为0的情况
printf("总共有%d个单词,平均长度为%d\n", count, average); // 输出结果
return 0;
}
```
程序输入一个句子,例如:
```
请输入一行字符:Hello world, this is a test sentence.
```
程序将输出该句子中单词的个数和平均长度:
```
总共有8个单词,平均长度为4
```
阅读全文