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...
去除字串中多餘的換行符
妾發初覆額,折花門前劇。郎騎竹馬來,繞床弄青梅。同居長干里,兩小無嫌猜,十四為君婦,羞顏未嘗開。低頭向暗壁,千喚不一回。十五始展眉,願同塵與灰。常存抱柱信,豈上望夫台。十六君遠行,瞿塘灩澦堆。五月不可觸,猿聲天上哀。門前遲行跡,一一生綠苔。苔深不能掃,落葉秋風早。八月胡蝶來,雙飛西園草。感此傷妾心,...
去除字串首尾多餘的空格
題目內容 使用者輸入乙個字串,首尾有多餘的空格,編寫程式來去除這些多餘的空格。要求必須使用指標來完成本題。輸入格式 乙個首尾有多餘空格字串。為了便於標識出尾部的空格,在字串尾部額外新增了個 號表示字串結束。字串內部保證不會出現 號。輸出格式 去除空格後的字串,同樣在在字串尾部額外新增了個 號表示字串...