1樓:武荊軻
#include "stdio.h"
main()
printf("本行中共有%d個單詞.\n",num);
}其原理很簡單:
對每個字元進行判斷,如果是空格就把變數word標記為0,如果不是空格就判斷word是不是0(即判斷之前有沒有空格),如果存在空格單詞量加1,然後復位word變數為0。就這樣重複,知道句子結束
2樓:匿名使用者
根據英語的書寫習慣,在每個單詞前後都會有空格分隔。 所以可以依據空格來劃分單詞。
不過,由於空格可能存在連續多個,所以僅統計空格數是不可以的,需要更復雜一些的演算法。
一、演算法設計:
核心思想是通過一個flag,來確定單詞的起始, 每出現一個單詞的起始,則表示存在一個單詞。 這樣統計出現的單詞起始個數,即可獲得單詞總數。
1、flag初始為1;
2、遍歷字串。
3、對於每個字元,如果出現非空格字元,且flag為1,則為單詞起始,累加計數器。同時賦值flag為0。
4、在flag為0情況下,如果出現空格,表示上一個單詞已經結束,設定flag為1。
5、 遍歷結束後輸出結果。
二、參考**:
#include
int func(char *s)//計算單詞數函式
}else if(s[i] == ' ')//上一個單詞結束。
flag = 1;
}return n;//返回結果。
}int main()
3樓:
#include
#include
main()
printf("c=%d\n",c);}
4樓:痞孓寶
請問,這樣可不可以實現功能
#include "stdio.h"
main()
c語言中統計單詞個數的問題
5樓:李卓霖首席男友
相當bai於空格,可以看一下這個程du
序(用zhi於統計單詞個dao數)
#include
void main()
printf(" 該英文句子由%d個單片語成。 .\n",num);
}有時為了給變數附一個無意義的初值通常用這個。呵呵
6樓:匿名使用者
給字元變數c2賦值為空格
7樓:匿名使用者
你說得對,就是相當於'\0'。
輸入英文句子統計單詞個數c語言,c語言 統計一個英文句子中的單詞個數
1.單詞與單詞之間是空格 單詞後面是空格 2.一句話說完之後有標點的話,就不是空格了 所以最後一個單詞後面是標點 3.每段的開始是不是也有空格的,如果有要記得減去我想應該是 空格 標點 段落數 段前空格數 單詞數都忘記怎麼編寫了 不知道對不對,大致我是這麼理解的 統計空格的個數再加1應該就是單詞個數...
C語言的問題C語言問題C語言問題
若有說明語句double p,a 則能通過scanf語句正確給輸入項讀入資料的程式段是 解 p a 將a的地址賦值給p,scanf lf p 從鍵盤獲取一個數值賦值給地址p指向的變數 所以選d 有函式fun的定義形式如下。int fun float f 則以下對函式fun的呼叫語句中,不正確的是 a...
c語言的字元個數問題
在scanf c x while x n 的前面應該加一個do 不然就不能迴圈了啊.include main char x int a 0,b 0,c 0,d 0 scanf c x 這樣寫就x只能儲存一個字元.按回車結束輸入.while x n x n 也有問題.你要實現什麼功能能說一下嗎?在幫你...