首页 > 代码库 > 题目1101:计算表达式(栈的使用)
题目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****************************************************************/
题目1101:计算表达式(栈的使用)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。