求大佬帮忙

P1449 后缀表达式

EarthGiao @ 2019-03-20 19:59:39

#include<iostream>
#include<stack>
#include<cstring>
#include<cstdio>
using namespace std;
char a[1010];
int main()
{
    int x=0;
    stack<int>s;
    scanf("%s",a);
    int len=strlen(a);
    for(int i=0;i<len;i++)
    {
        if(a[i]>='0'&&a[i]<='9')
        {
            x=x*10;
            a[i]=a[i]-'0';
            x=a[i];
        }
        else if(a[i]=='.')
        {
            s.push(x);
            x=0;
        }
        else
        {
            int m=0,n=0;
            if(a[i]=='+')
               {
                m=s.top();s.pop();n=s.top();s.pop();s.push(m+n);
               } 
            if(a[i]=='-') 
               {
               m=s.top();s.pop();n=s.top();s.pop();s.push(m+n);
               }
            if(a[i]=='*')
               {
                m=s.top();s.pop();n=s.top();s.pop();s.push(m+n);
               }
            if(a[i]=='/')
               {
               m=s.top();s.pop();n=s.top();s.pop();s.push(m+n);
               } 
            }
    }
    cout<<s.top();
    return 0;
}

by 成都地铁 @ 2019-03-20 20:05:21

你连自己的评都不评测一下就来求帮忙?


by wxy_god @ 2019-03-20 20:06:45

没过样例呗。。


by EarthGiao @ 2019-03-20 20:15:17

@成都地铁 @我是一个垃圾 大佬们这锅我不背 我是帮我朋友发的他没实名@zhuhongxiang QWQ


by lygmh @ 2019-03-20 20:18:49

@EarthGiao ctrl+c 和 ctrl+v 不要乱用

#include<iostream>
#include<stack>
#include<cstring>
#include<cstdio>
using namespace std;
char a[1010];
int main()
{
    int x=0;
    stack<int>s;
    scanf("%s",a);
    int len=strlen(a);
    for(int i=0;i<len;i++)
    {
        if(a[i]>='0'&&a[i]<='9')
        {
            x=x*10;
            a[i]=a[i]-'0';
            x=a[i];
        }
        else if(a[i]=='.')
        {
            s.push(x);
            x=0;
        }
        else
        {
            int m=0,n=0;
            if(a[i]=='+')
               {
                m=s.top();s.pop();n=s.top();s.pop();s.push(m+n);
               } 
            if(a[i]=='-') 
               {
               m=s.top();s.pop();n=s.top();s.pop();s.push(n-m);
               }
            if(a[i]=='*')
               {
                m=s.top();s.pop();n=s.top();s.pop();s.push(m*n);
               }
            if(a[i]=='/')
               {
               m=s.top();s.pop();n=s.top();s.pop();s.push(n/m);
               } 
            }
    }
    cout<<s.top();
    return 0;
}

by EarthGiao @ 2019-03-20 20:20:26

@G_M_H 大佬是非法空格吗?


by lygmh @ 2019-03-20 20:21:35

@EarthGiao 入栈的值注意一下


by EarthGiao @ 2019-03-20 20:26:08

@G_M_H 谢谢大佬QWQ


|