哪位大神帮忙看看我这题哪里错了

P1449 后缀表达式

hilsinleri @ 2017-01-26 20:24:28

如题。试了几个自编的数据,都没问题。

#include<bits/stdc++.h>
using namespace std;

stack<int>s;
string t;

void doit(char b)
{
    int f1=s.top();
    s.pop();
    int f2=s.top();
    s.pop();
    switch(b)
    {
        case '+':
            s.push(f2+f1);
            break;
        case '-':
            s.push(f2-f1);
            break;
        case '*':
            s.push(f2*f1);
            break;
        case '/':
            s.push(f2/f2);
            break;    
    }
}

int work()
{
    int m=0,num=0;
    char c;
    c=t[m];
    while(c!='@')
    {
        if(c>='0'&&c<='9')
        {
            num=num*10+c-'0';
        }
        else if(c=='.')
        {
            s.push(num);
            num=0;
        }
        else doit(c);
        c=t[++m];
    }
}

int main()
{
    cin>>t;
    work();
    printf("%d",s.top());
}

by hilsinleri @ 2017-01-26 20:25:48

问题已解决谢谢各位大神


|