【发布时间】:2019-09-07 19:22:23
【问题描述】:
我正在尝试编写一个程序来计算超过三个字母的单词的数量。当输入句点时,程序必须结束。我的代码有效,但它无法计算第一个单词,所以,如果我输入三个超过三个字母的单词,则输出为 2。
我尝试执行以下操作:我计算字母直到用户单击空格键。发生这种情况时,我会检查计数器是否大于三。如果是,则将 counterLargerThanThree 加一。这会持续运行,直到用户输入一个句点。当用户输入句点时,程序结束。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int c;
int cont = 0, aux , counterLargerThanThree = 0;
printf("Enter a phrase that ends with a period:\n");
c = getchar();
while(c != '.')
{
aux = c;
c = getchar();
cont++;
if(aux == ' ')
{
if(cont>3)
{
counterLargerThanThree++;
}
cont = 0;
}
}
printf("%i \n",counterLargerThanThree);
system("pause");
return 0;
}
【问题讨论】:
-
当
.句点字符出现时,即使字长>3,你也不会计算最后一个单词。