華為機試 括號匹配

2021-07-09 10:26:04 字數 774 閱讀 5564

#include

#include

using

namespace

std;

int main()

/*情況1:左右括號數目不等,如if(a(b),if(abc, if abc) 

情況2:左右括號數均為0,如if abc 

列印錯誤資訊,退出 

*/if((cntl!=cntr) ||(cntl==0))

//情況3:左右括號匹配錯誤,如if((a)b)c(d) 

//情況4:最外層不是一對括號,如if(a)(b) 

int k=0; //堆疊計數器,k=0表示棧空;入棧k++,出棧k--

int popk=0; //出棧計數器,用於判斷出棧至空時,是否右括號已經計完

//如果空棧情況下,還遇到出棧的情況,說明此時右括號先出現不匹配; 

//如果還未到最後乙個右括號,棧已空,說明不滿足「最外層至少一對括號」的情況 

for(int i=0;iif(str[i]=='(') //遇到左括號,入棧,即k++

if(str[i]==')') //遇到右括號,出棧

k--; //如果不符合上述情況,則出棧;不必用else

popk++; //出棧計數器遞增

if(k==0) //如果出棧後,導致棧空,則判斷出棧計數器是否等於右括號總數}}

}cout

<<"right "

<" "

0;}

華為機試 判斷if語句括號是否匹配

程式設計的時候,if條件裡面的 括號經常出現不匹配的情況導致編譯不過,請編寫程式檢測輸入一行 if語句中的圓括號是否匹配正確。同時輸出語句中出現的左括號和右括號數量,如 if a 1 b 1 是正確的,而 if a 1 b 1 是錯誤的。注意if 輸入 if a 1 b 1 輸出 rigth 3 3...

字串匹配 華為機試 C C

判斷短字串中的所有字元是否在長字串中全部出現 詳細描述 介面說明 原型 boolisallcharexist char pshortstring,char plongstring 輸入引數 char pshortstring 短字串 char plongstring 長字串 輸入兩個字串。第乙個為短...

華為機試整理

include stdafx.h includeusing namespace std int main int argc,tchar argv cout 2.大數相加 用stl的string比較方便,如下,自己測了幾組資料沒有什麼問題。include stdafx.h include includ...