对于一个句子字符串(不超过100个字符),所有字符中不含任何标点,单词之间以若干空格分隔,统计其中的单词个数。(提示:找每个单词起始位置)
程序输入若干句子,依次输出单词个数。
输入格式:
一行一个句子,输入可能多行。
输出格式:
输出单词个数,一个结果一行。
输入样例:
I am a slow walker but I never walk backwards
I LOVE YOU
结尾无空行
输出样例:
10
3
结尾无空行
判断字母是第一个字符或前面是空格
#include <stdio.h>
int main(void)
{
char s[101];
int i,count;
while (gets(s)){
count=0;
for(i=0;s[i]!='\0';i++)
if((s[i] >= 'A' && s[i] <= 'Z' || s[i] >= 'a' && s[i] <= 'z') && (i==0 || s[i-1]==' '))
count++;
printf("%d\n",count);
}
return 0;
}
判断连续两个字符是否前面一个为空格,后面一个不是空格,则是一个单词
#include <stdio.h>
int main()
{
int count=0,i=0,spaceflag = 1;
char s[101];
gets(s);
while(s[i] != 0)
{
if(s[i] != ' ')
{
if(spaceflag == 1)
count++;
spaceflag = 0;
}
else
spaceflag = 1;
i++;
}
printf("%d",count);
}
求代码