当前位置:网站首页>【PTA】L2-033 简单计算器 (25 分)
【PTA】L2-033 简单计算器 (25 分)
2022-08-07 14:38:00 【JKL27】
题目链接
L2-033
题目叙述和输入、输出格式等见上面的链接。
输入样例 1:
5
40 5 8 3 2
/ * - +
输出样例 1:
2
输入样例 2:
5
2 5 8 4 4
* / - +
输出样例 2:
ERROR: 5/0
实现思路
由于顺序符号这些都已经是题目给定的,所以就不用进行其他处理,按照输入顺序入栈即可。
while循环结束的条件是操作符栈(optr)为空;若其不为空,则从操作数栈(opnd)中按顺序取出 n2 和 n1,运算结果重新入opnd栈(如果除数为0,则进行错误提示Error,然后直接return即可)。
循环结束后,操作数栈栈顶应该还剩下一个元素,输出它。
实现代码(C++)
#include <iostream>
#include <stack>
using namespace std;
int main() {
stack<int> opnd; // 操作数栈
stack<char> optr; // 操作符栈
int n;
cin >> n;
for (int i = 0; i < n; i++) {
int n;
cin >> n;
opnd.push(n);
}
for (int i = 0; i < n - 1; i++) {
char c;
cin >> c;
optr.push(c);
}
while (!optr.empty()) {
int n1, n2;
n1 = opnd.top(); opnd.pop();
n2 = opnd.top(); opnd.pop();
char c;
c = optr.top(); optr.pop();
int n3;
switch (c) {
case '+':
n3 = n2 + n1;
break;
case '-':
n3 = n2 - n1;
break;
case '*':
n3 = n2 * n1;
break;
case '/':
if (n1 == 0) {
cout << "ERROR: " << n2 << "/0" << endl;
return 0;
}
n3 = n2 / n1;
break;
}
opnd.push(n3);
}
cout << opnd.top() << endl;
return 0;
}
边栏推荐
猜你喜欢
随机推荐
【HCIP】BGP 选路问题小型实验
Expert C Programming Chapter 8 Why Programmers Can't Tell the Difference Between Halloween and Christmas 8.2 Building Graphics from Bit Patterns
Introduction to common methods and principles of Lombok
C专家编程 第8章 为什么程序员无法分清万圣节和圣诞节 8.1 Portzebie度量衡系统
HJ5 base conversion
MethodInterceptor
Hash table | The sum of three numbers, the sum of four numbers | The most suitable `double pointer method` | leecode brush notes
哈希表 | 三数之和、四数之和 | 用`双指针法`最合适 | leecode刷题笔记
一、Flink 处理IOT数据
【C语言】操作符详解
视觉SLAM十四讲(高翔版本),ch1-2章节部分笔记
dotnet 数组自动转基类数组提示 Co-variant array conversion 是什么问题
Lianshengde W801 series 2-WIFI one-key distribution network, information preservation
mysql主从同步在master机上为slave机添加一同步帐号问题。
联盛德W801系列1-flash保存数据例程:保存wifi配网信息
【YOLOv7_0.1】网络结构与源码解析
Modify the primary key of the mysql data table
多线程-线程的状态、优先级、守护进程
云信小课堂 | 基于 NERoom 快速实现在线会议
C Expert Programming Chapter 7 Thinking About Memory 7.8 Take it easy --- "Thing King" and "Page Game"








