第6周项目3-括号的匹配
来源:互联网 发布:homebrew mysql 启动 编辑:程序博客网 时间:2024/04/28 02:56
/*
Copyright (c)2015,烟台大学计算机与控制工程学院
All rights reserved.
文件名称:项目3.cbp
作者:李竹雅
完成日期:2015年10月10日
版 本 号:v1.0
问题描述:假设表达式中允许三种括号:圆括号、方括号和大括号。编写一个算法,判断表达式中的各种左括号是否与右括号匹配。
例如,输入2+(3+4)*[2+{[3]}]-8,输出匹配正确;输入2+(3+4*[2)+{[3]}-8,输出匹配错误。
输入描述:输入表达式
程序输出:输出判断结果
*/
main 函数代码
#include "sqstack.h"bool isMatch(char *st){ int d=1, i; char c; SqStack *s; InitStack(s); for(i=0; st[i]!='\0'&&d; i++) { switch(st[i]) { case'(': case'[': case'{': Push(s, st[i]); break; case')': Pop(s, c); if(c!='(') d=0; break; case']': Pop(s, c); if(c!='[') d=0; break; case'}': Pop(s,c); if(c!='{') d=0; break; } } if(StackEmpty(s)&&d==1) return true; else return false;}int main(){ char st[50]; printf("请输入表达式:"); scanf("%s", st); if(isMatch(st)) printf("配对正确!!\n"); else printf("配对错误!!\n"); return 0;}
运行结果:
输入2+(3+4)*[2+{[3]}]-8时
输入2+(3+4*[2)+{[3]}-8时
知识点:
初步学习了栈的运用
0 0
- 第6周—项目3 括号的匹配
- 第6周项目3-括号的匹配
- 第6周项目3- 括号的匹配
- 第6周项目3-括号的匹配
- 第6周项目3-括号的匹配
- 第6周 项目3- 括号的匹配
- 第6周、项目3—括号的匹配
- 第6周 项目3—括号的匹配
- 【第6周 项目3 - 括号的匹配】
- 第6周项目3——括号的匹配
- 第6周项目3-括号的匹配
- 第6周 项目3 - 括号的匹配
- 第6周项目3括号的匹配
- 第6周 项目3-括号的匹配
- 第6周项目3 括号的匹配
- 第6周项目3 括号的匹配
- 第6周项目3括号的匹配
- 【第6周 项目3 - 括号的匹配】
- 第七周---建立顺序环形队列算法库
- 第四周项目4建设双链表算法库
- UITableView全面解析
- UI线程中调用Handler.post与直接执行方法的区别
- Android Studio在创建/导入项目的时候,一直处于building “XXX”gradle project info的解决办法
- 第6周项目3-括号的匹配
- 一个界面中使用两个tableView
- 一夜八次受不了,偶要做回程序猿
- 第6周 项目2 - 建立链栈算法库
- 第三周——【项目4 - 顺序表应用】
- 第4周项目6--多项式求和
- Android MediaScanner:(四)MediaScanner之scanSingleFile
- VS各种常见类型互转
- 【iOS知识学习】_视图控制对象生命周期-init、viewDidLoad、viewWillAppear、viewDidAppear、viewWillDisappear