每日一题之后缀表达式

简介: 大家好,我是泡泡,给大家带来每日一题的目的是为了更好的练习算法,我们的每日一题这个月进度是数据结构,让大家练到各种各样的数据结构题目,熟悉数据结构的增删改查,一年以后,蜕变成为一个不一样的自己!

今日题目:后缀表达式 (洛谷)


题目难度:⭐️⭐️


题目涉及算法:栈,字符串,模拟。


ps:有能力的小伙伴可以尝试优化自己的代码或者一题多解,这样能综合提升自己的算法能力


解题思路:


我用数组模拟栈的方法来解决了这道问题,一旦读取的不是数字就把这个数字压入栈,读到运算符就把栈顶上两个数做运算,然后弹出栈顶两个元素,再将结果压入栈顶即可。


#include<bits/stdc++.h>
using namespace std; 
int a[1000];
int i,sum;
int main()
{
    char s;
    while((s = getchar())!='@')
  {
        if(s>='0'&&s<='9')
    {
      sum*=10;
      sum+=s-'0';
        }
    else if(s=='.')
    {
            a[++i]=sum;
            sum = 0;
        }
        else if(s=='+')
    {
            a[i-1] = a[i-1] + a[i];
            a[i]=0;
            i--;
        }
        else if(s=='-')
    {
            a[i-1] = a[i-1] - a[i];
            a[i]=0;
            i--;
        }
        else if(s=='*')
    {
            a[i-1] = a[i-1] * a[i];
            a[i]=0;
            i--;
        }
        else if(s=='/')
    {
            a[i-1] = a[i-1] / a[i];
            a[i]=0;
            i--;
        }
    }
    cout<<a[1];
    return 0;
}


每日一题,有效内卷!

目录
相关文章
蓝桥杯:2019 国赛 例题:求值
蓝桥杯:2019 国赛 例题:求值
79 0
【每日一题】4.LeetCode——杨辉三角
【每日一题】4.LeetCode——杨辉三角
|
8月前
|
算法 搜索推荐 程序员
第四十一练 中缀表达式转后缀表达式
第四十一练 中缀表达式转后缀表达式
60 0
|
存储 算法 C语言
【C语言刷题】猜名次、猜凶手、杨辉三角、杨氏矩阵、字符串左旋、判断是否为左旋子串
【C语言刷题】猜名次、猜凶手、杨辉三角、杨氏矩阵、字符串左旋、判断是否为左旋子串
85 0
|
存储 算法 测试技术
【AcWing每日一题】4653. 数位排序
【AcWing每日一题】4653. 数位排序
127 0
|
存储 算法 C++
C/C++每日一练(20230516) 最佳时机、两数相加、后序遍历
C/C++每日一练(20230516) 最佳时机、两数相加、后序遍历
115 0
|
算法 C语言 C++
【C语言蓝桥杯每日一题】—— 数列求值
哈喽各位友友们😊,我今天又学到了很多有趣的知识,现在迫不及待的想和大家分享一下!😘我仅已此文,和大家分享【C语言蓝桥杯每日一题】—— 数列求值~ 都是精华内容,可不要错过哟!!!😍😍😍
88 0
|
C++
【寒假每日一题】AcWing 4728. 乘方
目录 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解
156 0
|
算法
『牛客|每日一题』逆波兰表达式
基础算法无论在研究生面试还是求职面试都是十分重要的一环,这里推荐一款算法面试神器:牛客网-面试神器;算法题只有多刷勤刷才能保持思路与手感,大家赶紧行动起来吧(温馨提示:常见的面试问答题库也很nice哦 https://www.nowcoder.com/link/pc_csdncpt_ll_sf
95 0
『牛客|每日一题』逆波兰表达式