首页 > 编程知识 正文

c语言实现括号匹配(c语言输入多个字符串)

时间:2023-05-05 20:02:38 阅读:75499 作者:2749

括号匹配算法实现(c语言) include stdio.h # include stdlib.h # include stdbool.h # definesize 50 typedef struct { char elem [ size ] ] int top; }seqstack; 语音堆栈(seqstack * s ) {s-top=-1; (intpush ) seqstack*s,char str ) {int i=0; if(s-top==size-1 ) return 1; Elseif(str!=' ' ) { s-top; s-elem[s-top]=str; }返回0; }intpop(seqstack*s,char *str ) if ) s-top==-1 ) return 1; else { *str=s-elem[s-top]; printf('%c ',*str ); s-top--; }返回0; }intgettop(seqstack*s,char *ch ) if ) s-top==-1 ) return 1; else{*ch=s-elem[s-top]; 返回1; }_boolmatch(charch,char str ) if ) )==''str==' ' )|) ch==' { ' str==' } (ch=' ) ) ) }_boolisempty(seqstack*s ) if ) s-top==-1 ) return 1; else return 0; }voidbrackmatch(char*str ) {seqstack s,*p; int i; char ch、sh; Init堆栈(s; for(I=0; str[i]!=' '; I )交换机(str[I] case ) ) :case ) (:case ) ) :push ) s,str [ I ] ); 布雷克; case ' ) ' : case ' ' : case ' } ' : if (isempty (s ) ) printf((((((((n括号中的额外部分) ) ); }else{gettop(s,ch ); if (匹配(ch,str[i] ) ) pop (s,sh ); }else{printf('n对应的括号不匹配); 返回; }}}if(isempty(s ) ) printf ) (括号匹配); }elseprintf (((() ()左括号剩余) ); (}int main ) ) {char str[100],enter,ch; seqstack s; Init堆栈(s; 请输入printf ('字符串:n '; scanf('%s ',str ); 扫描(' % c ',enter ); 积木匹配(str; printf((n ); } 反馈

这个意外的发现是布尔型的。 如果类型名称为“_Bool”,编译器也可以识别为布尔类型。 前辈写的可以作为参考,不思考,不思考,勤动手。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。