C语言实验二、括号匹配.docVIP

  • 58
  • 0
  • 约1.28千字
  • 约 3页
  • 2019-10-11 发布于江西
  • 举报
实验二、括号匹配 ? 一、问题描述 假设一个输入字符串中包含圆括号、方括号和花括号三种类型的括号,以及其它一些任意字符。编写程序,判别串中的括号是否正确匹配,即必须满足以下条件 各种左、右括号的个数要一致; 要符合正确的嵌套规则。 基本方法:在算法中设置一个栈,每读入一个括号,若是右括号,则或者使置于栈顶的最后进入的左括号消解,或者是不合法的情况;若是左括号,则压入栈中,同时在算法的开始和结束时,栈都应该为空,否则不合法。 二、基本要求 输入一个算术表达式,利用栈存储结构来存入左括号,然后判断表达式中的括号是否匹配。 三、测试数据 (1)([3+2]+(7*9)) (2)[([3/2 ]-[5*6])] (3)[7+8-(8-9]) (4)(2+](3*9))) 四、实现提示 1、算法思路 (1)对于栈的操作包括初始化initstack、判断栈是否满sfull、判断栈是否空sempty、入栈 push 和出栈pop操作。该函数被主函数调用。 (2)在主函数中输入一个算术表达式,依次取出该算术表达式的某个字符,如果是左括号则入栈,如果是右括号则出栈,并判断右括号与出栈的元素是否匹配。当算术表达式取完后,再判断栈是否为空,如果不空,则说明括号不匹配。 2、数据结构 typedef struct stk//定义的栈结构 {char *s; //栈中存放元素 int top;//栈

文档评论(0)

1亿VIP精品文档

相关文档