給定一串字元,不超過100個字元,可能包括括號、數字、字母、標點符號、空格,程式設計檢查這一串字元中的( ) ,[ ],是否匹配。
輸入格式:
輸入在一行中給出一行字串,不超過100個字元,可能包括括號、數字、字母、標點符號、空格。
如果括號配對,輸出yes,否則輸出no。
sin(10+20)
yesno
利用堆疊,遇到左符號壓棧,遇到右符號則檢查棧頂。若棧為空,或棧頂符號不匹配(棧頂必須是對應的左符號,也不能是其他右符號),則說明失配。最後還要檢查一下棧是否為空,若棧不空則說明存在左符號失配,結果也不匹配。
#include
#include
intmain()
else
if(string[i]
==')'
||string[i]
==']'
||string[i]
=='}')'
&&stack[top]=='
else
break;}
}//flag==1說明右符號均匹配成功
int flag;
if(iflag=0;
else
flag=1;
//top==-1,最後棧空,則說明左符號均匹配成功
if(flag&&top==-1
)printf
("yes\n");
else
printf
("no\n");
return0;
}
7 1 實驗9 1 括號匹配 100分
任意給定乙個字串,字串中包含除了空格 換行符之外的任意字元。你的任務是檢測字串中的小括號是否配對,即 與 是否配對。如字串 a b c d 中小括號是配對的,而 a b c d 則不配對。程式執行效果 sample 1 a b c d parentheses match sample 2 a b c...
7 1 實驗9 1 括號匹配 100分
7 1 實驗9 1 括號匹配 100分 任意給定乙個字串,字串中包含除了空格 換行符之外的任意字元。你的任務是檢測字串中的小括號是否配對,即 與 是否配對。如字串 a b c d 中小括號是配對的,而 a b c d 則不配對。程式執行效果 sample 1 a b c d parentheses ...
7 1 括號匹配檢測
給出一串包含 和 的字串,字串在以下三種情況下為合法的 1 字串為空 2 如果a和b都是合法的,那麼ab也是合法的 3 如果a是合法的,那麼 a 和 a 也是合法的。試判斷輸入的字串是否合法。輸入格式 輸入包括一串由若干個 或 組成的字串,字串長度不超過100。輸出格式 如果該字串合法,輸出 yes...