ZOJ 3778 Talented Chef(计算器模拟)
来源:互联网 发布:andrew marc牌子知乎 编辑:程序博客网 时间:2024/04/30 15:23
题目链接
该题是求三个数之间的加减乘除取余,其实就是模拟计算器,下面给出用stack容器写的普遍通用的代码:
#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include<iostream>#include<algorithm>#include<vector>#include<map>#include<queue>#include<stack>#define pii pair<int, int>using namespace std;typedef long long ll;char s[1000];int main(){int t = 0;scanf("%d%*c", &t);while(t--){stack<char>s1;stack<int>s2;int a, b;char c;gets(s);for(int i = 0; s[i]; i++){if(s[i] >= '0' && s[i] <= '9') { a = 0; while(s[i] >= '0' && s[i] <= '9') { a = a * 10 + s[i] - '0'; i++; } i--; s2.push(a); } else if(s[i] == '-' || s[i] == '+') { if(!s1.empty()) { c = s1.top(); s1.pop(); a = s2.top(); s2.pop(); b = s2.top(); s2.pop(); if(c=='+') a += b; else a = b-a; s2.push(a); s1.push(s[i]); } else s1.push(s[i]); } else if(s[i] == '/' || s[i] == '*' || s[i] == '%') { char cnt = s[i]; b = 0; i += 2; while(s[i] >= '0' && s[i] <= '9') { b = b * 10 + s[i]-'0'; i++; } i--; a = s2.top(); s2.pop(); if(cnt == '/') a = a / b; else if(cnt == '*') a = a * b; else if(cnt == '%') a = a % b; s2.push(a); } }while(!s1.empty()) { c = s1.top(); s1.pop(); a = s2.top(); s2.pop(); b = s2.top(); s2.pop(); if(c == '+') a += b; else a = b - a; s2.push(a); } printf("%d\n", s2.top()); }return 0;}
0 0
- ZOJ 3778 Talented Chef(计算器模拟)
- zoj 3778 Talented Chef 模拟
- ZOJ 3778 Talented Chef
- 【zoj】 3778 Talented Chef
- zoj 3778 Talented Chef
- ZOJ 3778 Talented Chef
- zoj 3778 Talented Chef
- ZOJ 3778 Talented Chef
- ZOJ 3778 Talented Chef
- ZOJ 3778 Talented Chef
- ZOJ 3778 Talented Chef
- ZOJ 3778Talented Chef
- zoj 3778 Talented Chef
- ZOJ 3778 Talented Chef(数学啊 )
- ZOJ 3778 Talented Chef (贪心)
- 贪心(ZOJ 3778,Talented Chef)
- zoj 3778 Talented Chef (思维)
- zoj 3778 Talented Chef 贪心
- 抓取网页信息并获取生成xml文件(以网页彩票数据为例)
- android中actionBar中字体颜色设置
- LintCode:最小路径和
- 【IOS 开发学习总结-OC-39】★★ios开发之 MVC 模式
- webrtc sip html5
- ZOJ 3778 Talented Chef(计算器模拟)
- kafka深度解析
- docker搭建简单web服务
- MFC消除视图闪烁
- 自定义超简单SearchView搜索框
- java入门第一天 基本介绍 环境配置 小小测试(上)
- 驱动程序收到意外的登录前响应。请验证连接属性,并检查 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接。该驱动程序只能与 SQL Server 2000 或更高版本一起使
- python初学网页扒取
- 单元测试利器——Mockito