請編寫程式檢查c語言源程式中下列符號是否配對:/與/、(與)、[與]、。
輸入為乙個c語言源程式。當讀到某一行中只有乙個句點.和乙個回車的時候,標誌著輸入結束。程式中需要檢查配對的符號不超過100個。
首先,如果所有符號配對正確,則在第一行中輸出yes,否則輸出no。然後在第二行中指出第乙個不配對的符號:如果缺少左符號,則輸出?-右符號;如果缺少右符號,則輸出左符號-?。
void test().
no/*-?
void test()].
no?-]
void test().
yes
#include
#include
#include
#include
#include
#include
using
namespace std;
intmain()
']=4
;int t=0;
memset
(op,0,
sizeof
(op));
string str;
while
(cin>>str)')
op[t++
]=str[i]
;//為了方便先把所有的符號提取出來到新的陣列中
else
if(str[i]
=='/'
&&str[i+1]
=='*'
)else
if(str[i]
=='*'
&&str[i+1]
=='/')}
} op[t]
='\0'
;int flag=0;
for(
int i=
0;i(!s.
empty()
&&mp[op[i]
]==mp[s.
top()]
)//滿足符號配對條件
s.pop();
else
else
}else
if(s.
empty()
)else}}
}while
(s.size()
>1)
//這幾步考慮的是[[(([[(){}這類情況,第乙個不配對的是[
s.pop();
if(!s.empty()
&&flag==0)
else}if
(flag==0)
cout<<
"yes"
<}
7 2 符號配對
7 2 符號配對 20 分 請編寫程式檢查c語言源程式中下列符號是否配對 與 與 與 輸入格式 輸入為乙個c語言源程式。當讀到某一行中只有乙個句點.和乙個回車的時候,標誌著輸入結束。程式中需要檢查配對的符號不超過100個。輸出格式 首先,如果所有符號配對正確,則在第一行中輸出yes,否則輸出no。然...
7 3 符號配對 (20 分)
7 3 符號配對 20 分 請編寫程式檢查c語言源程式中下列符號是否配對 與 與 與 輸入為乙個c語言源程式。當讀到某一行中只有乙個句點.和乙個回車的時候,標誌著輸入結束。程式中需要檢查配對的符號不超過100個。首先,如果所有符號配對正確,則在第一行中輸出yes,否則輸出no。然後在第二行中指出第乙...
7 5 符號配對 20 分
請編寫程式檢查c語言源程式中下列符號是否配對 與 與 與 輸入格式 輸入為乙個c語言源程式。當讀到某一行中只有乙個句點.和乙個回車的時候,標誌著輸入結束。程式中需要檢查配對的符號不超過100個。輸出格式 首先,如果所有符號配對正確,則在第一行中輸出yes,否則輸出no。然後在第二行中指出第乙個不配對...