第六周项目6括号的匹配
2015-10-09 18:06
232 查看
问题及描述:
运行结果:
学习心得:codeblocks用不习惯。。
* * Copyright (c) 2015, 烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称: listack.cpp,main.cpp,listack.h * 作者:程梦莹 * 完成日期:2015年10月9日 * 版本号:codeblocks * * 问题描述:假设表达式中允许三种括号:圆括号、方括号和大括号。编写一个算法,判断表达式中的各种左括号是否与右括号匹配 * 输入描述:输入一个式子 * 程序输出:是否匹配 */
#include"sqstack.h" int main() { char c; char st[50]; int d=1, i; SqStack *s; InitStack(s); printf("请输入表达式:"); scanf("%s", st); 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) printf("配对正确!!\n"); else printf("配对错误!!\n"); return 0; }
#ifndef SQSTACK_H_INCLUDED #define SQSTACK_H_INCLUDED #include <stdio.h> #include <malloc.h> #define MaxSize 100 typedef char ElemType; typedef struct { ElemType data[MaxSize]; int top; //栈指针 } SqStack; //顺序栈类型定义 void InitStack(SqStack *&s); //初始化栈 bool StackEmpty(SqStack *s); //栈是否为空 bool Push(SqStack *&s,ElemType e); //入栈 bool Pop(SqStack *&s,ElemType &e); //出栈 #endif // SQSTACK_H_INCLUDED
#include"sqstack.h" void InitStack(SqStack *&s) { s=(SqStack *)malloc(sizeof(SqStack)); s->top=-1; } bool StackEmpty(SqStack *s) { return(s->top==-1); } bool Push(SqStack *&s,ElemType e) { if (s->top==MaxSize-1) //栈满的情况,即栈上溢出 return false; s->top++; s->data[s->top]=e; return true; } bool Pop(SqStack *&s,ElemType &e) { if (s->top==-1) //栈为空的情况,即栈下溢出 return false; e=s->data[s->top]; s->top--; return true; }
运行结果:
学习心得:codeblocks用不习惯。。
相关文章推荐
- 接收和发送缓冲区
- [高中作文赏析]感受冬天
- 中国网络拓扑图
- memcached look status
- Mikrotik RouterOS-脚本-语法入门
- android:inputType参数类型说明
- 苹果开发者账号注册、申请续费整个流程
- 摩尔定律、移动互联网和人工智能
- 第三周学习报告
- mysql忘记ROOT密码怎么办?
- Play Framework常用标签list,set,如何遍历list、map类型数据
- Java开发中的23种设计模式详解(转)
- 2 JSP/SERVLET入门教程--Servlet 使用入门
- 黑马程序员-----------Objective-C基础-----------OC基础
- oc学习笔记
- MySQL 二进制文件安装
- IOS 应用内购买(In-App Purchase)之协议、税务和银行业务
- pip 安装 zkpython时报错“error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat)”
- 转帖 开源游戏服务器调研
- iOS app应用界面加载卡顿的问题