C语言编程题求教----输入一个字符 统计其中的单词个数

2025-03-10 00:32:19
推荐回答(4个)
回答1:

谭浩强C语言书上的例题,虽然那道题目是用数组做的,但是思路还是可以借鉴的。
设置一个标志word,表示单词是否开始。如果一直是空格的话,word=0,一旦看到不是空格,并且word是0,则意味着一个新单词开始,将个数增1并将word置为1。
#include
main()
{ char c;
int i,num=0,word=0;
while((c=getchar())!='\n')
if(c==' ') word=0;
else if(word==0)
{ word=1; num++; }
printf("There are %d words in the line\n",num);
}

回答2:

#include
int main(void)
{
char ch;
int c,m;
printf("Input words:");

c=1;
m=0;
while((ch=getchar())!='\n')
{
if(ch==' ')
{
if(m==0)
{
c++;
m=m++;
}
else
continue;
}
else
m=0;
}
printf("count=%d\n",c);
return 0;
}
这个程序大概符合你的要求,但是你的程序本来就没有考虑以空格结束的情况,就懒得再改了。

回答3:

#include
int main(void) {
char ch;
int c,m;
printf("Input words:");

c=1;
while((ch=getchar())!='\n') {
while(ch==' '&&ch!='\n') {
ch = getchar();
}
if(ch!='\n') {
c++;
}
}
printf("count=%d\n",c);
return 0;
}

话说这个和 "高深" 没任何关系, 自己想想各种可能情况就行了

回答4:

#include
#include
main()
{
char* ch;
int n;
printf("inputnum.\n");
scanf("%s",ch);
n=strlen(ch);
printf("%d",n);
getch();
}