《程序设计与算法(二)算法基础》《第二周 递归》逆波兰表达式
C 库函数 double atof(const char *str) 把参数 str 所指向的字符串转换为一个浮点数(类型为 double 型)。
声明
下面是 atof() 函数的声明。
double atof(const char *str)
参数
- str -- 要转换为浮点数的字符串。
返回值
函数返回转换后的双精度浮点数,如果没有执行有效的转换,则返回零(0.0)。
本题中“逆波兰表达式”的定义:
1)
一个数是一个逆波兰表达式,值为该数
2)
运算符 逆波兰表达式 逆波兰表达式 是逆波兰表达
式 值为两个逆波兰表达式的值运算的结果
样例输入
* + 11.0 12.0 + 24.0 35.0
样例输出
1357.000000
提示:
:(11.0+12.0)*(24.0+35.0)
#include<iostream> #include<cstdio> #include<cstdlib> using namespace std; double exp() {
char s[20]; cin >> s; // 流操作符,读完地址偏移 switch (s[0]) { case '+': return exp() + exp(); case '-': return exp() - exp(); case '*': return exp() * exp(); case '/': return exp() / exp(); default: //return atof(s[0]); return atof(s); break; } } int main() { printf("%lf", exp()); }
标签:
C++
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix