用C语言编程:写一个程序读入一条句子中的所有单词,并计算该语句中所有单词的平均长度。假定句子以换行结束,单词间用空格分隔,并且每个单词长度不超过25个字符。 **提示信息:"请输入一行字符:" **输出格式要求:"总共有%d个单词,平均长度为%d\n"
时间: 2024-03-03 17:50:15 浏览: 104
好的,以下是用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
```
阅读全文