擴號匹配問題

2021-06-27 07:48:56 字數 1121 閱讀 7673

【描述

】 在某個字串(長度不超過

100)中有左括號、右括號和大小寫字母;規定(與常見的

算術式子一樣)任何乙個左括號都從內到外與在它右邊且距離最近的右括號匹配。寫乙個程式,找到無法匹配的左括號和右括號,輸出原來字串,並在下一行標出不能匹配的括號。不能匹配的左括號用"$"標註

,不能匹配的右括號用"?"標註。

【輸入】

輸入包括多組資料,每組資料一行,包含乙個字串,只包含左右括號和大小寫字母,字串長度不超過100。

【輸出】

對每組輸出資料,輸出兩行,第一行包含原始輸入字元,第二行由"$"

、"?"和空格組成,"$"和"?"表示與之對應的左括號和右括號不能匹配。 【

輸入示例】

((abcd(x)

)(rttyy())sss)(【輸出

示例】

((abcd(x)

$$)(rttyy())sss)(

?           ?$【c

**】

---------------

#include

#include

#definestack_size 100

intmain(void) ;

struct bracketstack[stack_size];        /*棧*/

char str[stack_size];

int i, len;

inttop;                                 /*

棧頂*/

while(scanf("%s", str) != eof)

else if(str[i] == ')')

else }}

}/*將棧的每乙個元素的

index

值所指向的

str陣列的下標對應的元素設定為$或?*/

for(i = 0; i < top; ++i)

/*掃瞄

str陣列,假如不是$或

?,則輸出空格,否則輸出對應元素的值*/

for(i = 0; i < len; ++i)

printf("\n");

}return 0;

}

擴號匹配問題

總時間限制 1000ms 記憶體限制 65536kb 描述 在某個字串 長度不超過100 中有左括號 右括號和大小寫字母 規定 與常見的算數式子一樣 任何乙個左括號都從內到外與在它右邊且距離最近的右括號匹配。寫乙個程式,找到無法匹配的左括號和右括號,輸出原來字串,並在下一行標出不能匹配的括號。不能匹...

1203 擴號匹配問題

時間限制 1000 ms 記憶體限制 65536 kb 提交數 1424 通過數 744 在某個字串 長度不超過100 中有左括號 右括號和大小寫字母 規定 與常見的算數式子一樣 任何乙個左括號都從內到外與在它右邊且距離最近的右括號匹配。寫乙個程式,找到無法匹配的左括號和右括號,輸出原來字串,並在下...

1203 擴號匹配問題

1203 擴號匹配問題 時間限制 1000 ms 記憶體限制 65536 kb 題目描述 在某個字串 長度不超過100 中有左括號 右括號和大小寫字母 規定 與常見的算數式子一樣 任何乙個左括號都從內到外與在它右邊且距離最近的右括號匹配。寫乙個程式,找到無法匹配的左括號和右括號,輸出原來字串,並在下...