OJ_1101
来源:互联网 发布:网站流量统计系统源码 编辑:程序博客网 时间:2024/06/12 20:08
#include <iostream>#include <string>#include <stack>using namespace std;int getnum(string s,int &i){ int sum=0; while(s[i]>='0'&&s[i]<='9') { sum=sum*10+s[i]-'0'; i++; } return sum;}void func(){ string s; while(cin>>s) { stack<int> st; for(int i=0;i<s.size();) { if(s[i]>='0'&&s[i]<='9') { int t=getnum(s,i); st.push(t); } else if(s[i]=='+') { i++; int t=getnum(s,i); st.push(t); }else if(s[i]=='-') { i++; int t=getnum(s,i); st.push(-1*t); } else if(s[i]=='*') { i++; int t=getnum(s,i); int top=st.top(); st.pop(); st.push(top*t); }else if(s[i]=='/') { i++; int t=getnum(s,i); int top=st.top(); st.pop(); st.push(top/t); } } int sum=0; while(!st.empty()) { sum+=st.top(); st.pop(); } cout<<sum<<endl; } }int main(int argc, char *argv[]){ //printf("Hello, world\n");func();return 0;}
正确使用栈的练习
- 题目描述:
对于一个不存在括号的表达式进行计算
- 输入:
存在多种数据,每组数据一行,表达式不存在空格
- 输出:
输出结果
- 样例输入:
6/2+3+3*4
- 样例输出:
18
0 0
- OJ_1101
- 黑马程员_Eclipse的入门使用方法_29
- 黑马程序员--学习笔记/IO流2
- web编码机制
- 如何允许 WinXP 和 Win7 自动创建 dump 文件
- CodeForces 374A Inna and Pink Pony
- OJ_1101
- OJ_1103 二次方程计算器
- Sort Colors
- stl-map stl-pair
- 黑马程序员--学习笔记/IO流3
- Real World Haskell 读书笔记(2)类型与函数
- 关联,聚合,组合的区别及C++实现
- R6010 abort() has been called
- Win7下安装Ubuntu-64或Ubuntu-32(Ubuntu 12.04.3 LTS)