编写程序实现:输入一行字符,统计其中有多少个单词,单词之间用一个或多个空格分隔。

2024-12-03 09:27:19
推荐回答(2个)
回答(1):

#include 
#include 
#define N 100
#define isValidWord(a) (((a) >= 'a' && (a) <= 'z') || ((a) >= 'A' && (a) <= 'Z') ? 1 : 0)
int main()
{
    char str[N];
    int len;
    int i;
    int wordNum = 0;
    int wordStart = 0;
    gets(str);
    len = strlen(str);
    for (i=0; i    {
        if (isValidWord(str[i]))
        {
            if (!wordStart)
            {
                wordStart = 1;
                wordNum++;
            }
        }
        else
        {
            wordStart = 0;
        }
    }
    printf("Word number is : %d \n", wordNum);
    return 0;
}

回答(2):

#include
#include

int word=0;

void StringBracket(char *str)
{
int i,j,len;

len=strlen(str);
j=0;
for(i=0; i {
if(str[i]!=' ')
{
if(j==0)
{
word++;
j=1;
}
}
else
{
j=0;
}
}
}

void main()
{
char str[200];

gets(str);
StringBracket(str);
printf("Word:%d\n",word);
}