写一个程序读入一条句子中的所有单词,并计算该语句中所有单词的平均长度。假定句子以换行结束,单词间用空格分隔,并且每个单词长度不超过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);
}
这明显是死循环啊。13行的if和18行的else囊括了所有情况,而且都continue,所以23行是永远执行不到的。把continue都删掉
不知道你这个问题是否已经解决, 如果还没有解决的话:【 T4 】 最长单词
编写一个函数,输入一行字符,将此字符串中最长的单词输出。
输入仅一行,多个单词,每个单词间用一个空格隔开。单词仅由小写字母组成。所有单词的长度和不超过100000。如有多个最长单词,输出最先出现的。
【样 例】
Input:
I am a student
Output:
student
对不起,这不是一个有效的问题,请提供具体的问题。