去除輸入字元中的多餘星號

2021-08-21 13:13:10 字數 1523 閱讀 7702

1、問題描述

將標準輸入流的字元中的多餘'*'號過濾,並顯示到標準輸出。比如輸入***hell*o*wor******ld***!!*###,顯示*hell*o*wor*ld*!!*###。

2、有限狀態機模型

其中s1、s2是狀態,a1、a2是狀態機的轉換函式,c1、c2轉換的條件,表示非'*'字元還是'*'字元。

3、實現原始碼

/*

* author: snail

* date: 2018-07-18

* description:去除字串的多餘*號

*/#include using namespace std;

typedef int state;

typedef struct

condition;

#define states 2

#define state_1 0

#define state_2 1

#define conditions 2

#define condition_1 0

#define condition_2 1

typedef void(*actiontype)(state state, condition condition);

typedef struct

trasition, *ptrasition;

void action_1(state state, condition condition)

void action_2(state state, condition condition)

// (s1, c1, s1, a1)

trasition t1 = ;

// (s1, c2, s2, a1)

trasition t2 = ;

// (s2, c1, s1, a1)

trasition t3 = ;

// (s2, c2, s2, a2)

trasition t4 = ;

ptrasition transition_table[states][conditions] = ;

typedef struct

statemachine, *pstatemachine;

state step(pstatemachine machine, condition condition)

int main()

; pstatemachine machine = new statemachine();

machine->current = state;

int ch = eof;

while ((ch = cin.get()) != eof)

else

condition.info = ch;

step(machine, condition);

}}

4、實驗結果

c 去除字串中多餘的換行

public static string striptenter string str 判斷每個換車之間的內容 int lenarr arr1.count int leftpos 0 int rightpos 0 string substr string noenter if lenarr 0 le...

去除字串中多餘的換行符

妾發初覆額,折花門前劇。郎騎竹馬來,繞床弄青梅。同居長干里,兩小無嫌猜,十四為君婦,羞顏未嘗開。低頭向暗壁,千喚不一回。十五始展眉,願同塵與灰。常存抱柱信,豈上望夫台。十六君遠行,瞿塘灩澦堆。五月不可觸,猿聲天上哀。門前遲行跡,一一生綠苔。苔深不能掃,落葉秋風早。八月胡蝶來,雙飛西園草。感此傷妾心,...

去除字串首尾多餘的空格

題目內容 使用者輸入乙個字串,首尾有多餘的空格,編寫程式來去除這些多餘的空格。要求必須使用指標來完成本題。輸入格式 乙個首尾有多餘空格字串。為了便於標識出尾部的空格,在字串尾部額外新增了個 號表示字串結束。字串內部保證不會出現 號。輸出格式 去除空格後的字串,同樣在在字串尾部額外新增了個 號表示字串...