7 56 符號配對 20分

2021-10-03 17:55:09 字數 1624 閱讀 8358

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