qzy475739546 2023-04-24 17:04 采纳率: 87.5%
浏览 48
已结题

关于#c语言#的问题:写一个程序读入一条句子中的所有单词,并计算该语句中所有单词的平均长度

写一个程序读入一条句子中的所有单词,并计算该语句中所有单词的平均长度。假定句子以换行结束,单词间用空格分隔,并且每个单词长度不超过25个字符。

**提示信息:"请输入一行字符:"
**输出格式要求:"总共有%d个单词,平均长度为%d\n"

想问一下程序哪里有问题

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
    char arr[1000];
    char *p=arr;
    int count=1,number=0,len;
    printf("请输入一行字符:");
    gets(arr);
    for(;;p++)
    {
        if(*p==' ')
            {
                count++;
                continue;
            }
        else
            {
                number++;
                continue;
            }
        if(*p=='\0')
            break;
    }
    len=number/count;
    printf("总共有%d个单词,平均长度为%d\n",count,len);
}


  • 写回答

2条回答 默认 最新

  • 快乐鹦鹉 2023-04-24 17:31
    关注

    这明显是死循环啊。13行的if和18行的else囊括了所有情况,而且都continue,所以23行是永远执行不到的。把continue都删掉

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月2日
  • 已采纳回答 4月24日
  • 创建了问题 4月24日