题目1101:计算表达式(栈的使用)
题目链接:http://ac.jobdu.com/problem.php?pid=1101
详解链接:https://github.com/zpfbuaa/JobduInCPlusPlus
参考代码:
// // 1101 计算表达式.cpp // Jobdu // // Created by PengFei_Zheng on 06/05/2017. // Copyright © 2017 PengFei_Zheng. All rights reserved. // #include <stdio.h> #include <iostream> #include <algorithm> #include <string.h> #include <cstring> #include <cmath> #include <climits> #include <stack> using namespace std; stack<int> myStack; int main(){ int firstNum; while(scanf("%d",&firstNum)!=EOF){ while(!myStack.empty()) { myStack.pop(); } myStack.push(firstNum); char op; while(scanf("%c",&op)!=EOF && op!='\n'){ int nextNum; scanf("%d",&nextNum); switch(op){ case '+':{ myStack.push(nextNum); break; } case '-':{ myStack.push(0-nextNum); break; } case '*':{ int tmp1 = myStack.top(); myStack.pop(); myStack.push(tmp1*nextNum); break; } case '/':{ int tmp2 = myStack.top(); myStack.pop(); myStack.push(tmp2/nextNum); break; } default: break; } } int ans = 0; while(!myStack.empty()){ int tmp = myStack.top(); ans += tmp; myStack.pop(); } printf("%d\n",ans); } return 0; } /************************************************************** Problem: 1101 User: zpfbuaa Language: C++ Result: Pending ****************************************************************/
作者: 伊甸一点
出处: http://www.cnblogs.com/zpfbuaa/
本文版权归作者伊甸一点所有,欢迎转载和商用(须保留此段声明),且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
原文链接 如有问题, 可邮件(zpflyfe@163.com)咨询.
分类:
Jobdu
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Brainfly: 用 C# 类型系统构建 Brainfuck 编译器
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· Tinyfox 发生重大改版
· DeepSeek 全面指南,95% 的人都不知道的9个技巧(建议收藏)
· 对比使用DeepSeek与文新一言,了解DeepSeek的关键技术论文
· Brainfly: 用 C# 类型系统构建 Brainfuck 编译器
· DeepSeekV3+Roo Code,智能编码好助手
2016-05-06 设计模式之简单工厂模式