本題目要求編寫程序統計一行字符中單詞的個數。所謂“單詞”是指連續不含空格的字符串,各單詞之間用空格分隔,空格數可以是多個。
輸入格式:
輸入給出一行字符。
輸出格式:
在一行中輸出單詞個數。
輸入樣例:
Let’s go to room 209. |
---|
輸出樣例:
5 |
---|
#include<stdio.h>
int main(){
int i,cnt=0,cntword=0;
char a;
while(1){
scanf("%c",&a);
if(a=='\n'){//因爲只是一行字符,所以遇到回車就結束。
break;
}
else if(a!=' '){//首字母不爲‘ ’時
cntword++;
while(1){//此循環的意義在於判斷該單詞的位數。
//此循環應放在 首字母不爲0時的語句中。否則會使的首字母爲空格時,使之跳過下一個字母(如輸入‘ 1’則會輸出0)
scanf("%c",&a);
if(a==' '||a=='\n'){
break;
}//判斷該單詞是否爲單字母單詞 ,注意該單詞在掃描到第一個字母時已經將其cntword++
}if(a=='\n'){
break;
}
}
}printf("%d",cntword);
return 0;
}
希望此題可以有助於改變我們思考問題的方式。