永发信息网

用C或C++编写 括号配对检查程序

答案:3  悬赏:0  手机版
解决时间 2021-03-02 17:07
  • 提问者网友:我是女神我骄傲
  • 2021-03-02 04:26
题目描述:对输入的一段c或者c++代码(只要求其中一种),检查各种括号是否配对,以及配对的情况。基本要求:对于输入的一段代码,能够检查其中的括号(例如{}/[]/())是否配对,如果配对,输出正确的提示信息,如果不配对,则能够将没有配对的括号的位置打印出来。提高要求:(1) 若代码中有注释,能够自动忽略注释内容;(2) 任意输入一个括号的位置,能够打印出与之配对的括号的位置。设计提示:这段代码可以输入到文本文件中,然后利用所学的高级语言程序设计知识对文件(对象)进行操作,具体的数据结构和算法可利用堆栈来递归实现。
最佳答案
  • 五星知识达人网友:鸠书
  • 2021-03-02 04:44
思路倒是简单,就是利用栈来匹配。简单的数据结构应该包括 符号类型(区分小中大括号),括号出现在字符串的位置这些。
读入字符,如果是左括号,则入栈,如果是左注释/则看后面是否有*如果有,则一直到×/才结束。如果是有括号,则看是否跟栈上匹配,如果匹配,则把这个括号左右位置和类型放入一个数组什么的,以备后面用户检索对应位置。如果不匹配,则有错误。到最后,栈应该为空,否则也是不匹配。具体代码编写需要考虑更多情况,比如不能越过字符数组边界等。

随风的代码没有处理注释,另外,没有记录符号配对位置。还有好像只能处理括号了,不太符合题意要求
全部回答
  • 1楼网友:妄饮晩冬酒
  • 2021-03-02 06:32
占个位置
  • 2楼网友:深街酒徒
  • 2021-03-02 06:02
可以靠弹栈来实现,挺基本的知识
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯