狀態機統計單詞個數

2021-06-15 04:10:13 字數 696 閱讀 2948

使用狀態機解決問題,主要有兩個步驟:

1、確定系統總共有幾個狀態

2、確定狀態之間的遷移過程

對於統計字串來說,總共有四種狀態:初始狀態、單詞狀態、空格狀態、結束狀態

四種狀態之間的遷移如下:

初始狀態:如果輸入是字元,那麼進入單詞狀態,同時單詞個數加一;如果是空格,則進入空格狀態

單詞狀態:如果輸入是字元,那麼什麼也不做;如果是空格,則進入空格狀態

空格狀態:如果輸入是字元,則進入單詞狀態,同時單詞個數加一;如果是空格,則什麼也不做

typedef enumstate;

#include #include unsigned int countword(const char *_pstr)

while(value = *_pstr++)

break;

case state_space:

if(isspace(value))else

break;

case state_init:

if(isspace(value))else

break;

default:

break;}}

return count;

}int main(void)

注:**中沒有判斷標點符號,如果需要,可以在條件中新增

狀態機 狀態機0

近半年都忙於做專案,沒有太多的時間去整理和總結在專案中用過的技術 個人還是覺得技術需要總結提煉和沉澱的,忙到沒時間去總結提公升其實不 是什麼好事,這次講下狀態機,在戰鬥型別的遊戲中角色有多種不同的狀態,而狀態的切換錯綜複雜,23種設計模式中有一種模式叫做狀態模式,不過 這種模式是把狀態切換條件放到各...

python 狀態機 Python 狀態機

class statemachine def init self self.handlers 狀態轉移函式字典 self.startstate none 初始狀態 self.endstate 最終狀態集合 引數name為狀態名,handler為狀態轉移函式,end state表明是否為最終狀態 de...

狀態機小記

工作上有個功能模組用到了類似狀態機的東東,於是上網科普了一番。狀態機是由一系列輸入驅動,然後系統由其中一種狀態轉換為另一種狀態並產生某種輸出,這樣子的乙個系統叫做狀態機。狀態機分為兩種,一種是輸出只和系統狀態有關,叫做摩爾狀態機,另一種是輸出和輸入以及系統狀態都相關,叫做公尺莉狀態機。有關輸入 狀態...