蓝桥杯练习:函数表达式(递归实现)

题目

解题思路

  1. 思路是递归,递归函数的框架是:函数名(自变量字符串)。比如在A(abc)中,A是它的函数名,abc是它的自变量字符串;在B(A(xyz))中,B是它的函数名,括号里的A(xyz)算出来的值是B函数的自变量字符串。

  1. 递归函数里面,使用string res保存当前函数的括号里的自变量字符串char ch保存当前的函数名

  1. 依次读取字符串表达式,读到A~Z则说明出现新函数,保存在ch里,然后递归读取该函数括号里的内容(记得要循环,因为括号里面可能嵌套函数),获取完该函数括号里面所有的自变量字符串后,根据函数名进行函数值的映射,从而得到结果。而一旦读取到小写字母a~z,则把整串连续的小写字母返回,这串小写字母就是最近一个函数的自变量字符串

  1. 具体实现看代码,注意一下左右括号的处理,时刻关注pos的值。

C++代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值