*HDU 1237 栈
简单计算器
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 19060 Accepted Submission(s): 6711
4 + 2 * 5 - 7 / 11
0
13.36
JGShining | We have carefully selected several similar problems for you: 1230 1235 1234 1236 1229
模拟计算
代码:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<stack>
using namespace std;
int main()
{
char ch[];
while(gets(ch)&&strcmp(ch,""))
{
stack<char>s;
stack<double>n;
for(int i=;ch[i];i++)
{
if(ch[i]>=''&&ch[i]<='')
{
double tem=;
while(ch[i]>=''&&ch[i]<='')
{
tem=tem*+ch[i]-'';
i++;
}
i--;
n.push(tem);
}
else if(ch[i]=='+'||ch[i]=='-')
{
if(!s.empty())
{
char c=s.top();
s.pop();
double x1=n.top();
n.pop();
double x2=n.top();
n.pop();
if(c=='+')
x2+=x1;
else x2-=x1;
n.push(x2);
}
s.push(ch[i]);
}
else if(ch[i]=='*'||ch[i]=='/')
{
double x1=n.top();
n.pop();
double x2=;
int j=i;
i+=;
while(ch[i]>=''&&ch[i]<='')
{
x2=x2*+ch[i]-'';
i++;
}
i--;
if(ch[j]=='*')
x1*=x2;
else x1/=x2;
n.push(x1);
}
}
while(!s.empty())
{
char c=s.top();
s.pop();
double x1=n.top();
n.pop();
double x2=n.top();
n.pop();
if(c=='+')
x2+=x1;
else x2-=x1;
n.push(x2);
}
printf("%.2lf\n",n.top());
}
return ;
}
*HDU 1237 栈的更多相关文章
- HDU 1237 简单计算器 栈
额,题目是中文的,题意就不用说了= =都看懂喽.写个字符串先把这行计算式存进去,不过不能存一个算一个,因为考虑到乘除法比加减法优先的原则,如果是加号减号就先存着等待计算,如果是乘号除号就直接算出来值就 ...
- hdu 1237 简单计算器(栈处理)
简单计算器 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- HDU 1237 简单计算器(栈+stringstream)
提供几份代码,这题的输入可以用stringsteam处理,先处理乘除后处理加减,正常思路,但是后面统计加减法的时候,对栈的运用错了,我用的时候相当于给它多加了几个括号就错了. 正确的简单解法就是,加法 ...
- HDU 1237
http://acm.hdu.edu.cn/showproblem.php?pid=1237 表达式计算,方法是中缀转后缀,再计算.中间处理用栈操作 讲解看http://blog.csdn.net/a ...
- 解决HDU爆栈的问题
转载:http://forum.byr.edu.cn/article/ACM_ICPC/51264 大家懂的,鉴于HDU用的是windows服务器,所以stack大小及其坑爹,稍微深一点的递归栈就会s ...
- hdu 1237 简单计算器
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1237 简单计算器 Description 读入一个只包含 +, -, *, / 的非负整数计算表达式, ...
- hdu 1237 简单计算器 (表达式求值)【stack】
<题目链接> 题目大意: 读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值. Input测试输入包含若干测试用例,每个测试用例占一行,每行不超过200个字符, ...
- 随手练——HDU 1237 表达式求值(输入格式典型)
坑了老子半天,结果是 float 范围不够!!! 基本思想: 开一个符号栈,一个数字栈: 碰到数字就入栈,碰到符号就与栈顶符号进行对比,如果当前符号优先级小于栈顶符号,数字栈弹出两个数进行栈顶符号运算 ...
- HDU 2646 栈的应用 STL
Expression Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
随机推荐
- PCA 协方差矩阵特征向量的计算
人脸识别中矩阵的维数n>>样本个数m. 计算矩阵A的主成分,根据PCA的原理,就是计算A的协方差矩阵A'A的特征值和特征向量,但是A'A有可能比较大,所以根据A'A的大小,可以计算AA'或 ...
- MAC 常用命令
杀死占用某个端口的进程 命令 lsof -i tcp:port port换成端口号可以查看端口是被哪个程序占用 --> kill -9 pid 杀死进程
- A页面调到B页面,B页面关闭时A页面刷新
// A.html <html> <head> <script type="text/javascript"> alert("refr ...
- 网页端打开手机上的app
iOS/Android 浏览器(h5)及微信中唤起本地APP 在移动互联网,链接是比较重要的传播媒质,但很多时候我们又希望用户能够回到APP中,这就要求APP可以通过浏览器或在微信中被方便地唤起. 这 ...
- Erlang--proplists结构解析
proplists 模块适用数据量较少的场景,处理配置文件和函数选项时常用.proplists对内部数据结构是Key-Value键值对形式,第一个元素做key用来查询和删除,如果一个key有多个值就会 ...
- Spring学习(三)
1,Spring的事务管理机制 Spring事务管理高层抽象主要包括3个接口,Spring的事务主要是由他们共同完成的: l PlatformTransactionManager:事务管理器-主要用于 ...
- BOOST_AUTO宏
在boost中,有个非常不错的宏BOOST_AUTO(),它的作用是自动给var定义类型,适合function()函数返回的值的类型. int function() { ; } main() { BO ...
- 模板类 error LNK2019: 无法解析的外部符号
如果将类模板的声明和实现写在两个独立的文件中,在构建时会出现"error LNK2019: 无法解析的外部符号 "的错误. 解决方法有: 第一种方法,就是把类模板中成员函数的声明和 ...
- jshint 一些选项(转载)
内容来自: http://www.cnblogs.com/qianduanjingying/p/6185793.html 一些变量的作用: http://www.cnblogs.com/CloudMu ...
- js的一些正则 整理 长期更新
1. 1-12的正整数:var day=/^[1-9]\d{0,12}$/;