整数求值(华为上机)
来源:互联网 发布:阿里云服务器创建快照 编辑:程序博客网 时间:2024/05/17 08:53
整数算术表达式求值
描述:
求由+-*/()组成的整数算术表达式的值。如1+2*3=7,(1+2)*3=9。除法运算,除不尽时向下取整,如(1+2)/2+1=2。不考虑数值溢出。不考虑除数为0。不考虑括号嵌套。
运行时间限制: 10 Sec
内存限制: 128 MByte
输入:
一行字符串,长度小于128个字节
输出:
计算结果,整数
样例输入:
1+3+4+5
样例输出:
描述:
求由+-*/()组成的整数算术表达式的值。如1+2*3=7,(1+2)*3=9。除法运算,除不尽时向下取整,如(1+2)/2+1=2。不考虑数值溢出。不考虑除数为0。不考虑括号嵌套。
运行时间限制: 10 Sec
内存限制: 128 MByte
输入:
一行字符串,长度小于128个字节
输出:
计算结果,整数
样例输入:
1+3+4+5
样例输出:
13
#include <iostream>#include <vector>#include <stack>using namespace std;bool compare(char a,char b)//a>=b,return 1;{if(a=='*'||a=='/')return true;else{if(b=='+'||b=='-')return true;elsereturn false;}}int main(){char opera;int num;vector<int> input;stack<char> s;while((opera=cin.get())!='\n'){if(opera=='+'||opera=='-'||opera=='*'||opera=='/'){while(!s.empty()&&s.top()!='('&&compare(s.top(),opera)){input.push_back(s.top()-'0');s.pop();}s.push(opera);}else if(opera=='('||opera==')'){if(opera=='(')s.push(opera);else{while(s.top()!='('){input.push_back(s.top()-'0');s.pop();}s.pop();}}else{cin.unget();cin>>num;input.push_back(num);}}while(!s.empty()){input.push_back(s.top()-'0');s.pop();}stack<int> out;for(int i=0;i<input.size();i++){char op=input[i]+'0';if(op=='+'||op=='-'||op=='*'||op=='/'){int second=out.top();out.pop();int first=out.top();out.pop();int result=0;if(op=='+')result=first+second;else if(op=='-')result=first-second;else if(op=='*')result=first*second;else if(op=='/')result=first/second+1;out.push(result);}else{out.push(input[i]);}}cout<<out.top()<<endl;return 0;}
- 整数求值(华为上机)
- 华为上机题:高精度整数加法
- 2013 华为招聘上机第三题 表达式求值
- 华为上机(3)
- 华为OJ(表达式求值)
- 华为上机试题5(整数排序并删除一些元素)
- 表达式求值(整数运算)
- 华为上机题(1)
- 华为上机题总结(1)
- 华为上机试题2(字符串分解)
- 华为上机试题3(简单密码)
- 华为上机试题4(坐标移动)
- 华为上机试题6(时间相加)
- 华为上机题7(四则运算)
- 字符串过滤器(华为上机题)
- 华为上机测试题(20160725)
- 华为上机题汇总(一)
- 华为上机题汇总(二)
- PHP中文乱码完美解决方法
- 三、vim使用手册--找到 tag:1/3 或更多
- 关于Linux静态库和动态库的分析
- spring security3.x学习(23)_session管理和session监听
- 工作那些事(一)今年工作不好找
- 整数求值(华为上机)
- php获得访客真实ip
- yuv420p
- poj 4756 Install Air Conditioning 生成树变形
- linux红黑树解读
- php生成静态html
- 基于ADCensus视差的多视点转换
- spring security3.x学习(24)_拒绝访问异常处理(AccessDeniedException)
- php身份证验证类