今天把資料結構學習的**拿出來和網友分享一下,應該測試能過!
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 輸入乙個字串 ...