gpt4 book ai didi

使用 C 计算段落中的单词数

转载 作者:太空宇宙 更新时间:2023-11-04 08:25:05 24 4
gpt4 key购买 nike

我用 C 编写了一个程序来计算一段中的单词数。在终端屏幕上,它只是输入了一个句子,然后就卡住了。任何想法为什么?我尝试过其他方法并且它们有效。只是想知道为什么这个没有。这是我的代码:

#include <stdio.h>
#include <conio.h>
int main(void)
{ int i, m=0, t=1;
char x, a[100];
clrscr();
printf("Type a paragraph to count the words in it.\n");
while(t==1)
{ i=0;
while(x!='\n')
{ x=getchar();
a[i]=x;
i++;
if((x==' ')||(x=='.')||(x=='?')||(x=='!'))
m++;
}

if(a[0]=='\n')
t=0;
}
printf("\nNumber of words = %i", m);
getch();
return 0;
}

编辑:我在这里尝试使用的逻辑是:内部循环接受最多 100 个字符的单词。一旦遇到\n 字符,就退出循环。外循环用于将 100 个字符的限制扩展到无限数量的字符(直到退出外循环)。如果在前一个循环以\n 终止后立即在第一个循环中遇到\n 字符,则退出外循环。这意味着要结束一个段落,您需要键入\n\n。

最佳答案

当它退出内部 while 循环时,如果 a[0] 不是 \n,则 t 将保持 1,但由于 x 自退出内循环后没有改变,它不会重新进入它,所以你会停留在外循环中。

关于使用 C 计算段落中的单词数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30940407/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com