水一水 )統計一行文字的單詞個數 (15 分)(c語言)
阿新 • • 發佈:2018-12-17
7-2 統計一行文字的單詞個數 (15 分)
本題目要求編寫程式統計一行字元中單詞的個數。所謂“單詞”是指連續不含空格的字串,各單詞之間用空格分隔,空格數可以是多個。
輸入格式:
輸入給出一行字元。
輸出格式:
在一行中輸出單詞個數。
輸入樣例:
Let’s go to room 209.
輸出樣例:
5
#include<stdio.h> #include<string.h> int wordcount(char* str){ char *p=str; while(*p==' '){ p++; }//這是當一開始就有空格的情況,有可能有多個連續的空格,所以要考慮跳過 if(*p=='\0'){ return 0;//如果空格之後就是'\0'那就直接結束沒有單詞所以直接返回0 } int count=1;//如果能到這裡說明沒有'\0'結束,起碼有一個單詞,所以count的初始值為1 while((p=strchr(p,' '))!=NULL){ //使用查詢函式查詢p後面的空格,如果找到一個空格就跳過連續的空格 while(*p==' '){//找到一個空格就要把連續的空格跳過,所以當不是空格時就會跳出while迴圈 p++; } //不要著急count++ //不是空格還有兩種可能,一種是直接結束為'\0'另一種才是單詞 if(*p!='\0') count++; } return count; } int main(){ char str[1024];//因為題目中沒有明確說明字串的長度所以只能先定大一點 gets(str); printf("%d",wordcount(str)); return 0; }