假定每一個單詞用空格隔開。
樣例:
輸入:how are you!
輸出:3
兩種方法:
一:
#include <stdio.h>
#include <string.h>
#define SIZE 20
int main()
{
char str[SIZE]={'\0'};
int count=0;
printf("please input the string\n");
gets(str);
puts(str);
int length = strlen(str);
for (int i=0;i<length;i++)
{
//推斷是不是空格不是的話在while里面i++運行推斷到下一個空格的出現或是結束
if(str[i]!=' ')
{
count++;
while(str[i]!=' '&&str[i]!='\0')
{
i++;
}
}
}
printf("%d\n",count);
return 0;
}
另外一種:
#include <stdio.h>
#include <string.h>
#define SIZE 20
int main()
{
char str[SIZE]={'\0'};
int count=0;
int flag=0;
printf("please input the string\n");
gets(str);
puts(str);
int length = strlen(str);
for (int i=0;i<length;i++)
{
//推斷是不是空格。是的話flag=0,
//不是的話推斷前面是不是空格即flag是否等於0。
//是空格的話說明是新單詞的開始
if(str[i]==' ')
{
flag=0;
}
else
{
if(flag==0)
{
count++;
flag=1;
}
}
}
printf("%d\n",count);
return 0;
}
