請編寫程式檢查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。然後在第二行中指出第乙個不配對的符號 如果缺少左符...