C语言,输入一行英文字母,统计其中有多少个单词,单词之间用空格分隔.

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言,输入一行英文字母,统计其中有多少个单词,单词之间用空格分隔.相关的知识,希望对你有一定的参考价值。

为什么两个不一样?错的那个和对的那个原理不一样嘛?

参考技术A #include void main() char str[100]; int num=0; int i=0; gets(str); while(str[i] != '\0') while(str[i] == ' ') i++; if(str[i] == '\0') break; else num++; while(str[i] != ' '&&str[i] != '\0') i++; printf("%d\n",num); 追问

我想知道两个的差别,都是遇到空格加一,为什么前面的那个几个空格只能导致num+1,而后面有几个空格加几。

C语言:输入一行字符,统计其中有多少个单词,单词之间用空格分隔开

提供一个思路。
首先你需要判断什么样的情况属于单词。
1.两个空格之间的不间断的字母可以看做一个单词。
2.这个字母可以任意长。(只要比句子短就可以)
如果想省事的话,可以设置3个指针:
phead
pword
首先这2个指针都指向句子的首部。
1.遇到第一个空格,且空格后为字母,phead停住,指向这个空格。然后pword继续走。
2.如果pword一直都是遇到字母,则当它的下一个字符为空格或者结束符时,单词数目加1.同时,phead等于pword,继续寻找下边的字符串。
这样一直循环到字符串结束。
参考技术A #include
"stdio.h"
main()

int
i,sum=0,s=0;
char
str[100];
printf("请输入一些字符,之间用空格隔开,然后按回车键:\n");
gets(str);
for(i=0;str[i];i++)

if(str[i]=='
')

if(s)
sum++;
s=0;

else
s=1;

printf("共有单词
:
%d

\n",sum);

以上是关于C语言,输入一行英文字母,统计其中有多少个单词,单词之间用空格分隔.的主要内容,如果未能解决你的问题,请参考以下文章

C语言输入一行字符 统计其中有多少个单词,单词之间用空格分隔开

C语言输入一行字符 统计其中有多少个单词,单词之间用空格分隔开

C语言:输入一行字符,统计其中有多少个单词,单词之间用空格分隔开

输入一个字符串,统计其中包含的单词个数,假设单词与单词之间用空格分隔。

c语言中,输入n行字符,统计其中有多少个单词,单词之间用空格分隔开?

C语言统计单词个数