習題3 8 符號配對 20 分

2021-10-19 13:59:13 字數 1351 閱讀 6254

請編寫程式檢查c語言源程式中下列符號是否配對:/* 與 */、(與)、[與]、。

輸入格式:

輸入為乙個c語言源程式。當讀到某一行中只有乙個句點.和乙個回車的時候,標誌著輸入結束。程式中需要檢查配對的符號不超過100個。

輸出格式:

首先,如果所有符號配對正確,則在第一行中輸出yes,否則輸出no。然後在第二行中指出第乙個不配對的符號:如果缺少左符號,則輸出?-右符號;如果缺少右符號,則輸出左符號-?。

題目思路:看到符號匹配問題,直接考慮到使用棧解決,可以使用c++裡的< stack > 模板,(如果不懂stack模板可以去自學一下)。上**。

#include

#include

using

namespace std;

char t;

stack<

char

> st;

bool

deal

(stack<

char

>

& st)

;//注意,這裡一定需要『&』,否則在main裡st是沒有元素的

intmain()

':cout <<

"no\n?-}"

<< endl;

break

;case

'*':cout <<

"no\n?-*/"

<< endl;

break;}

}else}}

return0;

}bool

deal

(stack<

char

>

& st)

else

if(c[i]=='

}else

}else

if(c[i]

==')')}

else

if(c[i]

=='}')}

else

if(c[i]

==']')}

}}if(st.

empty()

&& flag)

return

true

;else

return

false

;}

習題3 8 符號配對 20分

請編寫程式檢查c語言源程式中下列符號是否配對 與 與 與 輸入為乙個c語言源程式。當讀到某一行中只有乙個句點.和乙個回車的時候,標誌著輸入結束。程式中需要檢查配對的符號不超過100個。首先,如果所有符號配對正確,則在第一行中輸出yes,否則輸出no。然後在第二行中指出第乙個不配對的符號 如果缺少左符...

習題3 8 符號配對 20分

思路 順序棧 1.首先定義棧的結構體,寫棧的出棧,入棧,得棧頂元素 和棧的初始化 2.寫符號匹配的函式 3.對於 的處理 include define maxsize 100 struct stack typedef struct stack seqstack int push seqstack s...

習題3 8 符號配對 20 分

請編寫程式檢查c語言源程式中下列符號是否配對 與 與 與 輸入為乙個c語言源程式。當讀到某一行中只有乙個句點.和乙個回車的時候,標誌著輸入結束。程式中需要檢查配對的符號不超過100個。首先,如果所有符號配對正確,則在第一行中輸出yes,否則輸出no。然後在第二行中指出第乙個不配對的符號 如果缺少左符...