编写 程序计算句子的平均词长
本人新手入门,在看C语言程序设计,里面有一道练习题,我试着解出来但运行不出来正确答案。跪求大神指教题目是:编写程序计算句子的平均词长:
Enter a sentence:it was deja vu all over again.
Average word length: 3.4
简单起见,程序中把标点符号看作其前面单词的一部分。平均词长显示一个小数位。
我在GCC里编写的程序如下:
#include <stdio.h>
int main(void)
{
int i=1,sum=0;
char ch;
printf("Enter a sentence: ");
while ((ch = getchar()) == '\n') {
switch (ch) {
case ' ':i=i+1;break;
default :sum=sum+1;break;
}
}
printf("Average word length: %d\n",sum/i);
printf("%d\n%d\n",sum,i);
return 0;
}
但运行后,答案不对。而且sum和i都没有自增,这是为什么呢?请问哪个地方有错了吗?先谢了!