C1091 - 后缀表达式求值
题目描述
给定一个后缀表达式(也称为逆波兰表达式),请你编写个程序计算出该后缀表达式的运算结果
输入格式
1行,一个后缀表达式的字符串,其中每个数字、运算符号之间都使用一个空格分隔
表达式中的运算符有:+、-、*、/ 这个4种
输出格式
后缀表达式的运算结果,最终保留2位小数,结果不可四舍五入
注意最后输出要求在小数点后保留两位数字,输出结果不可四舍五入,也就是如果最终计算结果为3.146,则正确的输出结果为3.14输入输出样例
| 输入样例 | 输出样例 |
|---|---|
| 1 2 3 * + | 7.00 |
| 1 2 / 3 + | 3.50 |
| 2 3 / 10 + | 10.66 |
| -1 -2 -3 * + | 5.00 |
注意表达式做除法运算时需要保留小数,比如 1 / 2,应该是0.5,不是0
表达式运算中间过程不需要进行保留2位小数操作,比如:
1 2 / 3 + 对应的中缀表达式是:
1 / 2 + 3,在做1 / 2时不需要使用保留2位小数操作(建议使用double类型存储),在整个表达式计算结果出来后再进行保留2位小数(不需要四舍五入)
数据范围与提示
对于100%的数据满足:
表达式的字符串长度 <= 100
后缀表达式中每个数字均为合法整数格式,都在int型取值范围,最终运算结果保证在double型取值范围内
测试点数目
共10个测试点,每个测试点10分
时间与内存限制
每个测试点时间:1000ms(1.0s),内存:256MiB
输入输出模式
本OJ支持两种输入输出模式
1. 标准输入输出模式:
直接从标准输入和标准输出读写数据,不需要使用freopen进行文件输入输出重定向
2. 文件输入输出模式(国内信奥赛输入输出模式):
从文件中读写数据,需要使用freopen进行输入输出重定向
本题输入文件名为:C1091.in,输出文件名为:C1091.out