8586 括號匹配檢驗

2021-06-27 03:12:36 字數 2434 閱讀 7217

今天把資料結構學習的**拿出來和網友分享一下,應該測試能過!

8586 括號匹配檢驗

time limit:1000ms  memory limit:1000k

total submit:679 accepted:182

type: program   language: not limited

description

利用棧編寫滿足下列要求的括號匹配檢驗程式:假設表示式中允許包含兩種括號:圓括號和方括號,其巢狀的順序隨意,即(())或[()]等為正確的格式,[(]或([())或(()])均為不正確的格式。輸入乙個包含上述括號的表示式,檢驗括號是否配對。本題給出部分check()函式,要求將check()函式補充完整,並完成整個程式。

typedef char selemtype;

#include"malloc.h"

#include"stdio.h"

#include"math.h"

#include"process.h" // exit()

#define ok 1

#define error 0

#define true 1

#define false 0

typedef int status; // status是函式的型別,其值是函式結果狀態**,如ok等

#define stack_init_size 10 // 儲存空間初始分配量

#define stackincrement 2 // 儲存空間分配增量

struct sqstack

; // 順序棧

status initstack(sqstack &s)

status stackempty(sqstack s)

status push(sqstack &s,selemtype e)

status pop(sqstack &s,selemtype &e)

void check()

else

}else // 棧空

default: ______________________; // 其它字元不處理,指標向後移

}if(stackempty(s)) // 字串結束時棧空

printf("matching\n");

else

printf("lack of right parenthesis\n");

}}void main()

input

第一行:輸入乙個包含圓括號或方括號、不超過80個字元的表示式串。

output

第一行:若輸入表示式括號匹配,輸出"matching"; 若不匹配,輸出具體資訊:"isn't matched pairs", 或"lack of left parenthesis"或"lack of right parenthesis"

sample input

8*[3*(35-23)]

sample output

matching

author

yqm答案:

typedef char selemtype;

#include"malloc.h"

#include"stdio.h"

#include"math.h"

#include"stdlib.h" // exit()

#define ok 1

#define error 0

#define true 1

#define false 0

typedef int status; // status是函式的型別,其值是函式結果狀態**,如ok等

#define stack_init_size 10 // 儲存空間初始分配量

#define stackincrement 2 // 儲存空間分配增量

struct sqstack

; // 順序棧

status initstack(sqstack &s)

status stackempty(sqstack s)

status push(sqstack &s,selemtype e)

*(s.top )=e;

s.top ++;

return ok;

} status pop(sqstack &s,selemtype &e)

void check()

else

}else // 棧空

default: p++;; // 其它字元不處理,指標向後移

}if(stackempty(s)) //字串結束時棧空

printf("matching\n");

else

printf("lack of right parenthesis\n");

}}int main()

8586 括號匹配測試

今天的資料結構學習 和朋友來分享,測試應該能生活!8586 括號匹配測試 time limit 1000ms memory limit 1000k total submit 679 accepted 182 type program language not limited description ...

括號匹配的檢驗

一 題目 假設表示式中可以允許包含三種括號 圓括號 和 方括號 和 和花括號 且這三種括號可按任意的次序巢狀使用。即 或者 等為正確格式,或者均為不正確的格式。編寫判別給定表示式中所含括號是否正確配對出現的演算法。二 思路 檢驗括號是否匹配的方法可以用 期待的急迫程度 這個概念來描述。例如,考慮下列...

括弧匹配檢驗 括號匹配問題

題目描述 假設表示式中允許包含兩種括號 圓括號和方括號,其巢狀的順序隨意,如 或 等為正確的匹配,或 或 均為錯誤的匹配。現在的問題是,要求檢驗乙個給定表示式中的括弧是否正確匹配?輸入乙個只包含圓括號和方括號的字串,判斷字串中的括號是否匹配,匹配就輸出 ok 不匹配就輸出 wrong 輸入乙個字串 ...