請編寫程式檢查c語言源程式中下列符號是否配對:/與/、(與)、[與]、。
輸入格式:
輸入為乙個c語言源程式。當讀到某一行中只有乙個句點.和乙個回車的時候,標誌著輸入結束。程式中需要檢查配對的符號不超過100個。
輸出格式:
首先,如果所有符號配對正確,則在第一行中輸出yes,否則輸出no。然後在第二行中指出第乙個不配對的符號:如果缺少左符號,則輸出?-右符號;如果缺少右符號,則輸出左符號-?。
輸入樣例1:
void test()
.輸出樣例1:
no/-?
輸入樣例2:
void test()].
輸出樣例2:
no?-]
輸入樣例3:
void test()
.輸出樣例3:
yes這種括號配對的題,我們肯定會想到用棧來做,不一樣的是"/「和」/「這兩個配對的有兩個字元,我們處理的時候用另外的字元來替換掉就會方便很多,我選擇」<「和」>"(隨便找兩個就行),輸入的字元我們只用考慮題目給出我括號,別的字元不用管,下面給出ac**
#include
#include
#include
#include
using
namespace std;
stack<
char
> s;
char a[
10000];
char b[
10000];
intmain()
')a[flag++
]=ss[i]
;else
if(ss[i]
=='/'
&&ss[i+1]
=='*'
)else
if(ss[i]
=='*'
&&ss[i+1]
=='/')}
}for
(int i=
0;i||a[i]
=='>')&&
(s.size()
==0))
')cout<<
"?-"
<
cout<<
"?-*/"
}if(a[i]
=='('
||a[i]
=='['
||a[i]=='
else
if(a[i]
==']')if
(s.top()
=='['
) s.
pop();
else
else
if(a[i]
=='}')if
(s.top()
=='else
if(a[i]
=='>')if
(s.top()
=='<'
) s.
pop();
else}if
(f==
0&&s.
size()
==0) cout<<
"yes"
return0;
}
7 3 符號配對 (20 分)
7 3 符號配對 20 分 請編寫程式檢查c語言源程式中下列符號是否配對 與 與 與 輸入為乙個c語言源程式。當讀到某一行中只有乙個句點.和乙個回車的時候,標誌著輸入結束。程式中需要檢查配對的符號不超過100個。首先,如果所有符號配對正確,則在第一行中輸出yes,否則輸出no。然後在第二行中指出第乙...
7 5 符號配對 20 分
請編寫程式檢查c語言源程式中下列符號是否配對 與 與 與 輸入格式 輸入為乙個c語言源程式。當讀到某一行中只有乙個句點.和乙個回車的時候,標誌著輸入結束。程式中需要檢查配對的符號不超過100個。輸出格式 首先,如果所有符號配對正確,則在第一行中輸出yes,否則輸出no。然後在第二行中指出第乙個不配對...
7 2 符號配對 20分
請編寫程式檢查c語言源程式中下列符號是否配對 與 與 與 輸入為乙個c語言源程式。當讀到某一行中只有乙個句點.和乙個回車的時候,標誌著輸入結束。程式中需要檢查配對的符號不超過100個。首先,如果所有符號配對正確,則在第一行中輸出yes,否則輸出no。然後在第二行中指出第乙個不配對的符號 如果缺少左符...