HDU 1237 简单计算器(stack)

HDU 1237代码 Hdu 1237 解题代码 立即下载
Problem Description
读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值。
 

Input
测试输入包含若干测试用例,每个测试用例占一行,每行不超过200个字符,整数和运算符之间用一个空格分隔。没有非法表达式。当一行中只有0时输入结束,相应的结果不要输出。
 

Output
对每个测试用例输出1行,即该表达式的值,精确到小数点后2位。
 

Sample Input
      
1 + 2 4 + 2 * 5 - 7 / 11 0
 

Sample Output
      
3.00 13.36
 

Source
 

Recommend
JGShining   |   We have carefully selected several similar problems for you:   1230  1235  1234  1236  1229 
 

这个题困扰我几天了,看了别人的博客,这个方法太厉害了,居然不保存 字符数组

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<queue>
#include<stack>
#include<vector>

#define L(x) (x<<1)
#define R(x) (x<<1|1)
#define MID(x,y) ((x+y)>>1)

#define eps 1e-8
using namespace std;
#define N 10005

int main()
{
	int i;
	char c,cc;
	double a,b;

	while(~scanf("%lf%c",&a,&c))
	{
       if(fabs(a-0)<eps&&c=='\n')
		break;

		if(c=='\n')
		{
			printf("%.2lf\n",a);
			continue;
		}

	    stack<double>q;
	    q.push(a);

          scanf("%c%lf",&c,&a);
          if(c=='+')
		        q.push(a);
		   else
		      if(c=='-')
		        q.push(a*(-1));
		   else
		  {
			 double cur=q.top();
			 q.pop();
			 if(c=='*')
			  q.push(cur*a);
			 else
			  q.push(cur/a);
		  }

        while(scanf("%c",&c))
		{
			if(c=='\n') break;
			scanf("%c%lf",&c,&a) ;
			if(c=='+')
		        q.push(a);
		   else
		      if(c=='-')
		        q.push(a*(-1));
		   else
		  {
			 double cur=q.top();
			 q.pop();
			 if(c=='*')
			  q.push(cur*a);
			 else
			  q.push(cur/a);
		  }
		}

		double ans=0;
		while(!q.empty())
		{
			ans+=q.top();
			q.pop();
		}
       printf("%.2lf\n",ans);
	}
   return 0;

}



别再为OpenBCI_GUI安装发愁了!保姆级教程带你从Processing配置到成功运行(附常见错误解决) 本文提供了一份详细的OpenBCI_GUI安装教程,涵盖从Processing配置到成功运行的全过程,特别针对常见错误提供了解决方案。通过环境搭建、软件依赖安装、源码处理及首次运行实战,帮助用户高效完成数据可视化工具的部署与使用。 阅读详情

相关推荐

手把手教你用Microsoft AEC Challenge数据集训练自己的回声消除模型(附完整代码)

本文详细介绍了如何使用Microsoft AEC Challenge数据集训练专业的回声消除模型,包括环境准备、数据清洗、模型架构设计、训练流程和实际部署注意事项。通过完整的代码示例和实战指南,帮助开发者快速掌握AEC技术,提升语音通信系统的回声消除效果。

weixin_27697385的博客 454

HDOJ 1237 简单计算器

核心部分伪代码: stark 符栈,数栈; c=getchar() while(c!='\n' || !符栈.empty()){ if(c是操作数) 数栈.push();c=getchar(); else if(符栈.empty()) 符栈.push(c);c=getchar(); else switch(precede(符栈.top(),c)){//比较栈运算符和当前运算符的优先级 case '<': 符栈.push(c); c=getchar();break; case '

qq_46523755的博客 307

TestFlight分发测试app,提示无法安装 所请求的App不可用或者不存在

TestFlight分发测试app,提示无法安装 所请求的App不可用或者不存在

天穹云原生 9169

hdu1237

简单计算器 Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 10938Accepted Submission(s): 3544 Problem Description 读入一个只包含 +, -, *, / 的非负整数计算表达式...

weixin_30821731的博客 206

Unity面试题总结

Unity面试题

sinat_34014668的博客 1万+

cosi-corr操作详细步骤

cosi-corr是一个可以加载到ENVI的软件包,由加利福尼亚理工学院的François Ayoub,  Sébastien Leprince,  and Lionel Keene开发,并且提供源代码,该软件受到了NSF的资助。软件的主要功能是可以满足各种影响的正射校正和影像配准。 针对下载下来的软件包参考《cosi-corr_guide.pdf》,进行配置使用具体详细过程如下: (本机环境

u013299471的专栏 1万+

杭电oj1237:简单计算器(水而不水)

简单计算器 题目链接 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Problem Description 读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值。 Input 测试输入包含若干测试用例,每个测试用例占一行,每行不超过200个字符,整...

醉酒诗人的博客 537

基于Dify与DeepSeek构建中医智能问答工作流:从知识库到精准处方

本文详细介绍了如何利用Dify与DeepSeek构建中医智能问答工作流,实现从知识库构建到精准处方的全流程。通过模型编排和知识检索技术,系统能够结合中医辨证思维与AI推理能力,为基层医师、学生和爱好者提供结构化诊疗建议。文章重点分享了知识库选材、症状标准化处理、智能检索与辨证推理等核心环节的实战经验。

weixin_29062255的博客 251

杭电ACM-1237-简单计算器 ...

做这个陆陆续续也弄了好几天,一开始是使用栈在做,因为这种类型的题教材上提过(我相信一定也有不少同学一提到写一个简单的不带括号的计算器也会第一时间想到 栈吧)。不过在做的过程,弄了好久也未能用栈来实现。说实话用栈来做是有点复杂了。不说别的,光是你去定义节点和各个函数就有得你弄几分钟了。也许就这会儿功夫人家不用栈的同学已经把这个题给做出来了。但,这可能也只是我们在逃避对栈的使用吧...

weixin_30632899的博客 240

详解【异质图卷积网络 RGCN】回顾:图神经网络问题的三大处理步骤 | 从起源说起,RGCN核心公式解释,两种降低模型参数量/优化的方式,附核心代码实现讲解

本篇,我们深入分析和学习RGCN的原理以及为何要这么做。首先让我们来回顾对于图神经网络问题的三大处理步骤,可以说,这是该深度学习模型的基本理解,后续都是在深化其中的细节处理。然后以容易理解的方式,引出异质图卷积网络RGCN的由来,主要讲解其核心公式和论文中作者所提出的两种降低模型参数量/优化的处理办法,并给出基础分解以及块对角分解的核心实现代码讲解。最后附上RGCN源代码及说明。

追光者♂:记录、分享、总结、提升,现象级专栏《Python从入门到人工智能》作者,无惧黑暗,坚信曙光 1279

2026年3月GESP真题及题解(C++七级):物流网络

2026年3月GESP真题及题解(C++七级):物流网络

王老师青少年编程 1122

HDU1237简单计算器

简单计算器 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 6400 Accepted Submission(s): 2030 Problem Description 读入一个只包含 +, -, *, / 的非负整数...

记录每天的点点滴滴 605

小卫星多普勒频偏MATLAB代码

多普勒频偏是由于发射机和接收机之间的相对运动而引起的频率变化。对于小卫星,由于其速度和高度的变化,多普勒频偏会变得更加明显。本文将探讨小卫星多普勒频偏的原理、影响因素以及补偿方法。多普勒频偏的原理当发射机和接收机之间存在相对运动时,接收到的信号频率会发生变化。这种频率变化称为多普勒频偏。其原理可以描述如下:设发射机和接收机之间的距离为 d,发射信号的频率为 f0,发射机和接收机的相对速度为 v。则接收到的信号频率 f 为:其中 c 为光速。

qq_59747472的博客 244

HDU-1237简单计算器-stack运用

HDU-1237简单计算器 读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值。 Input 测试输入包含若干测试用例,每个测试用例占一行,每行不超过200个字符,整数和运算符之间用一个空格分隔。没有非法表达式。当一行中只有0时输入结束,相应的结果不要输出。 Output 对每个测试用例输出1行,即该表达式的值,精确到小数点后2位。 Sample Input 1 + 2 ...

王蒟蒻 407

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

杭电hdu 1237 简单计算器 stack

http://acm.hdu.edu.cn/showproblem.php?pid=1237 堆栈的简单应用 //hdu_1237 简单计算器 stack的应用 #include #include #include #include using namespace std; stack snum; stacksop; int main() { int len, i; do

凌语小辉 1526

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

【HDU】1237 简单计算器 (stack)

http://acm.hdu.edu.cn/showproblem.php?pid=1237 题目很好理解,一开始想用优先队列,但好像有点难实现,用stack比较好实现,遇到“ * ” 或者" / " 就进行操作,遇到“ - ” 就把它的相反数加进stack,最后stack不为空的话,就全部按照加法加进来 /* stack 的应用 */ #include <iostream>...

( :3 ) 254

stack 应用 简单计算器——hdu 1237

读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值。 Input 测试输入包含若干测试用例,每个测试用例占一行,每行不超过200个字符,整数和运算符之间用一个空格分隔。没有非法表达式。当一行中只有0时输入结束,相应的结果不要输出。 Output 对每个测试用例输出1行,即该表达式的值,精确到小数点后2位。 Sample Input 1 + 2 4 + 2 * 5 -7 ...

jhckii的博客 148

HDU 1237 简单计算器 (stack)

简单计算器 Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 27155Accepted Submission(s): 9861 Pr...

xcatf的博客 299

HDU_p1237_简单计算器_stack

HDU_p1237_简单计算器_stack

这题AC再睡 258

HDU 1237 简单计算器

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1237 题记:题目不难,用栈stack即可,就是要十分小心空格输入的处理。 #include<bits/stdc++.h> using namespace std; const int N=305; int main(){ double n,temp,b; char c; ...

moyangxian 142

栈(stack)与队列(queue)使用详解

栈与队列使用详解 咳咳,老规矩,开局扯会犊子,上午刚刚把vector数组预习了一遍,晚上决定来看看栈,栈和队列作为非非非非非非非非非非常重要的数据结构之一,还是很有必要去学会的,咱就不去说那个先入后出的原理了,那玩意看的人头大,咱今就来学习他的用法。感谢c++,感谢函数。 咳咳,咱就直接上吧,先看看他们的使用方式,然后直接实战!!! stack栈 queue 队列 说明 stack < Type > s queue < Type > q 定义 s.top

qq_43514659的博客 3963

栈和stack

栈: 基本的数据结构之一,特点是“先进后出”。 例如: 坐电梯时,先进电梯的,最后出来; 一盒泡腾片,最先放进盒子的药片位于最底层,最后被拿出来。 栈的有关操作: 例子 说明 a.push_back(100); 定义栈,Type为数据类型,如int,float,char等。 s.push...

chen_zan_yu_的博客 356

stack(栈)简单应用

stack常用的操作函数:top(),push(),pop(),size(),empty(); 应用时的模板: *********************** #include using namespace std; *********************** stackc;//创建一个空的stack,ELem是类型名(char,int,double,.......),c是自定义

MBLHQ的博客 501

HDU 5475 An easy problem(用大数模板,你就上当了)——2015 ACM/ICPC Asia Regional Shanghai Online

HDU 5475 An easy problem(用大数模板,你就上当了)——2015 ACM/ICPC Asia Regional Shanghai Online

queuelovestack的专栏 1783

HDU - 1598 find the most comfortable road 【最小生成树】

题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1598 思路 用kruskal 算法 将边排序后 跑 kruskal 然后依次将最小边删除 再去跑 kruskal 直到不能成功跑成通路 为什么要删掉最小边 因为边是按从小到大排序的 那么也就是说 我每次加入的边 都是必须加入的 最小的边 那么如果 最高速与最低速的差 还大了 ...

Dup4'Blog 310
上一篇: ZOJ 3647 Gao the Grid(居然是暴力)
下一篇: HDU 1022 Train Problem I(stack)
左眼皮跳跳~
博客等级 码龄13年 17粉丝 400原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值