首页 > 其他分享 >后缀表达式(逆波兰表达式)

后缀表达式(逆波兰表达式)

时间:2022-09-21 18:44:07浏览次数:66  
标签:cout bolan 后缀 int 波兰 表达式

(一)空格分隔输入格式

#include<iostream><details>
<summary>点击查看代码</summary>

</details>
using namespace std;

string s[105];
int bolan(int &i){
	if(s[i][0]>='0'&&s[i][0]<='9'){
		return atof(s[i].c_str());
	}
	else{
		if(s[i][0]=='+'){
			int x=bolan(--i),y=bolan(--i);
			return y+x;

		}
		if(s[i][0]=='-'){
			int x=bolan(--i),y=bolan(--i);
			return y-x;
		}
		if(s[i][0]=='*'){
			int x=bolan(--i),y=bolan(--i);
			return y*x;
		}
		if(s[i][0]=='/'){
			int x=bolan(--i),y=bolan(--i);
			return y/x;
		}
	}
}
int main()
{
    string ins;
    int n=0;
    while(cin>>s[n++])
    {
        if(cin.get()=='\n')break;
    }
    n=n-1;
    cout<<bolan(n)<<endl;
}


标签:cout,bolan,后缀,int,波兰,表达式
From: https://www.cnblogs.com/vvvv214/p/16716746.html

相关文章

  • notepad++ 替换常用方法(正则表达式)
    Ctrl+H打开替换:行首空格和空行去除:"^\s+"->""行首插入ABCD:"^"->"ABCD"行尾空格和空行去除:"\s+$"->""行尾插入ABCD:"$"->"ABCD"按头AB,尾CD去除内容(单行非......
  • 逆波兰表示法
    逆波兰表示法运算规则四则运算法则是“先乘除,后加减,从左至右,先括号内后括号外”。但是当乘除出现在加减的后面,或者表达式中有括号出现,编程处理起来就比较麻烦。对于括号......
  • Java学习笔记---JDK8新特性(Lambda表达式)
    1.Lambda表达式基础格式:()->{};//()为lambda表达式的参数//->为箭头操作符//{}为lambda方法体lambda表达式结果为一个实例对象,用于直接实例化......
  • 正则表达式
    正则表达式常用符号.任意字符 除换行符外的任意单个字符 添加s修饰符,可以让.包括换行符\w单词字符 字母、数字、下划线任意单个字符。大写\W表示非单词字符 在python......
  • 定时任务的cron表达式
    前言对于开发人员来说,在做项目的过程中或多或少都会用到定时任务,Java开发一般会用SpringQuartz、xxl-job、Elastic-job来做定时任务调度框架。不论使用哪种框架,定时任务......
  • JavaScript 正则表达式
    正则表达式:      [email protected]      -正则表达式用于定义一些字符串的规则,        计算机可以根据正则表达式,来检查一......
  • C++中的Lambda表达式
    C++中的Lambda表达式代码如下:[capture](parameters)mutable->return-type{statement}[capture]:捕捉列表。捕捉列表总是出现在Lambda函数的开始处。实际上,[]是Lambd......
  • 正则表达式的掌握
    正则表达式入门指南,看这篇就够了!点击关注......
  • 22张图带你深入剖析前缀、中缀、后缀表达式以及表达式求值
    22张图带你深入剖析前缀、中缀、后缀表达式以及表达式求值一、基本概念在本篇文章当中主要跟大家介绍以下几点前缀、中缀和后缀表达式。如何将中缀表达式转化成后缀表......
  • C++11 -- 匿名函数(lambda 表达式)
    0.一道题目引入关于sb力扣定义外部函数和变量报错这件事最初我定义了一个\(cmp\)函数用来对\(vector\)排序,和一个全局变量\(unordered\_map\)用来记录元素个数......