NYOJ 128 前缀式计算
前缀式计算
- 描述
-
先说明一下什么是中缀式:
如2+(3+4)*5这种我们最常见的式子就是中缀式。
而把中缀式按运算顺序加上括号就是:(2+((3+4)*5))
然后把运算符写到括号前面就是+(2 *( +(3 4) 5) )
把括号去掉就是:+ 2 * + 3 4 5
最后这个式子就是该表达式的前缀表示。
给你一个前缀表达式,请你计算出该前缀式的值。
比如:
+ 2 * + 3 4 5的值就是 37
- 输入
-
有多组测试数据,每组测试数据占一行,任意两个操作符之间,任意两个操作数之间,操作数与操作符之间都有一个空格。输入的两个操作数可能是小数,数据保证输入的数都是正数,并且都小于10,操作数数目不超过500。
以EOF为输入结束的标志。 - 输出
- 对每组数据,输出该前缀表达式的值。输出结果保留两位小数。
- 样例输入
-
+ 2 * + 3 4 5 + 5.1 / 3 7
- 样例输出
-
37.00 5.53
-
AC码:
-
// 调用库函数,递归#include<stdio.h> #include<stdlib.h> char str[20]; double fun() {if(scanf("%s",str)==EOF)return 1<<30;if(str[0]=='+')return fun()+fun();if(str[0]=='-')return fun()-fun();if(str[0]=='*')return fun()*fun();if(str[0]=='/')return fun()/fun();return atof(str);//atof在stdlib.h中的把str字符串转换成double;//atoi在stdlib.h中的把str字符串转换成int; } int main() {while(1){double tp=fun();if(tp<1<<30)printf("%.2lf\n",tp);elsebreak;} }
AC码:
-
#include<stdio.h> char str[1005]; int i=0; double eval() {double x=0,t;if(str[i]=='\0')return 0;while(str[i]==' ')i++;if(str[i]=='+'){i++;return eval()+eval();}if(str[i]=='-'){i++;return eval()-eval();}if(str[i]=='*'){i++;return eval()*eval();}if(str[i]=='/'){i++;return eval()/eval();}while(str[i]>='0'&&str[i]<='9'){x=x*10+(str[i]-'0');i++;}if(str[i]=='.'){i++;t=0.1;while(str[i]>='0'&&str[i]<='9'){x=x+(str[i]-'0')*t;t=t*t;i++;}}return x; } int main() {while(gets(str)){i=0;printf("%.2f\n",eval());}return 0; }
NYOJ 128 前缀式计算相关推荐
- NYOJ128前缀式计算
前缀式计算 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 先说明一下什么是中缀式: 如2+(3+4)*5这种我们最常见的式子就是中缀式. 而把中缀式按运算顺序加上括号就 ...
- 前缀式计算(前缀表达式)
前缀式计算 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 先说明一下什么是中缀式: 如2+(3+4)*5这种我们最常见的式子就是中缀式. 而把中缀式按运算顺序加上括号就 ...
- 脱式计算机在线使用,三年级数学脱式计算500题可直接打印
文件大小: 资料格式: 下载:198次 资料等级: 所需点数:0 课件类型:/word 注册本站会员,享受高速下载,立即注册会员 三年级数学脱式计算500题可直接打印部分内容预览 25+ ...
- 三年级竖式计算机应用题,小学三年级数学上册脱式计算、竖式计算、应用题,各题型汇总! - 副本...
版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如果有侵权请立即联系:55525090@qq.com,我 ...
- JavaSE-常用类、Stream 流式计算
JavaSE-常用类.Stream 流式计算 常用类 内置包装类 Integer String 类型转换 StringBuilder(JDK1.5) StringBuffer(JDK1.0) Date ...
- Vue3官网-高级指南(十七)响应式计算`computed`和侦听`watchEffect`(onTrack、onTrigger、onInvalidate、副作用的刷新时机、`watch` 、pre)
Vue3官网-高级指南(十七)响应式计算computed和侦听watchEffect(onTrack.onTrigger.onInvalidate.副作用的刷新时机.watch .pre).渲染机制和 ...
- RPGSRPG伤害式计算方式杂谈
RPG&SRPG伤害式计算方式杂谈 以下的损伤式,如果没有特别指明的话,一般讨论的都是普通物理攻击的损伤.魔法攻击.特殊攻击暂不考虑. 基本型: 损伤=攻击力-防御力 其中,攻击力一般要分为人 ...
- 前缀式与后缀式的差别
文章出处: http://blog.sina.com.cn/s/blog_5ca785c30100bb89.html websense的一道笔试题,问++i为什么比i++效率高. 有有心人详细而全面的 ...
- 流式计算-Storm基本介绍
1.离线计算是什么? 离线计算:批量获取数据.批量传输数据.周期性批量计算数据.数据展示 代表技术:Sqoop批量导入数据.HDFS批量存储数据.MapReduce批量计算数据.Hive批量计算数据. ...
最新文章
- 【Linux 驱动】第九章 与硬件通信
- [评测] 联想 Mirage Solo 一体机:基本性能强大,价格定位很迷
- ios AFNetworking 有用篇
- 第二十二章:动画(八)
- 莫烦Tensorflow教程(15~22)
- X3D.Studio编辑器界面介绍
- Android之如何用cmd方法查看logcat
- 物联网将成为第四次工业革命的基石
- 前端验证码绘制(canvas)
- 查看手册命令 Oracle,ORACLE 数据库常用日常维护命令手册
- Linux运维课程 第一阶段 重难点摘要(一)网络基础
- 在页面中直接设计TreeView的节点而不使用Web.Sitemap文件在运行时出错信息
- 联想服务器pxe安装系统,使用CloudBoot裸机部署Lenovo ThinkSystem服务器
- 自我与人际沟通课程复习
- Excel快捷键大全
- EML-NET: An Expandable Multi-Layer NETwork for Saliency Prediction【论文笔记】
- 塞尔之光的树心旋转机关_塞尔之光攻略心得_塞尔之光怎么创建人物 塞尔之光角色创建方法详解-公共游戏资源网...
- Vivado HLS(High-level Synthesis)笔记一:HLS基本流程
- 并发编程之并发包详解
- 1762 牛的洗牌(递推)