360笔试没做完,写了个简单的加乘运算😂

#include <iostream>
#include <vector>
#include <string>
#include <stack>

using namespace std;

int main(){
    string str;
    cin >> str;
    
    stack<int> stk;
    int num = 0;
    bool flag = false;
    for(char c : str){
        if(isdigit(c)){
            num = num * 10 + c - '0';
        }
        else{
            if(!stk.empty() && flag == true){
                stk.top() *= num;
            }
            else{
                stk.push(num);
            }
            
            flag = c == '+' ? false : true;
            num = 0;
        }
    }
    stk.top() = flag ? stk.top() * num : stk.top() + num;

    int right = 0;
    while (!stk.empty())
    {
        right += stk.top();
        stk.pop();
    }

    cout << right << endl;
    return 0;
}

全部评论
我也!同学你记不记得那个字符串能不能修改,还是只能添加一个来着,我很想把它想明白!!
点赞 回复 分享
发布于 2023-03-18 18:24 北京
兄弟你好,我刚刚收到笔试邀请,测试开发岗,请问编程题可以用python吗?
点赞 回复 分享
发布于 2023-03-31 12:56 天津

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务