蒟蒻求助!!

P1449 后缀表达式

xuyouchen @ 2019-04-22 18:11:24

为什么在本机跑所有数据都能过但是交上去样例都WA了...
代码:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<stack>
#include<cmath>
using namespace std;
stack<char> tmp;
bool check(char a){
    if(a=='+'||a=='-'||a=='*'||a=='/')
        return true;
    else
        return false;

}
int fun(int a,int b,char c){
    switch (c)
    {
        case '+':
            return a+b;
        case '-':
            return b-a;
        case '*':
            return a*b;
        case '/':
            return (int)(b/a);
    }
}
int gen(int l){
    int ans,s,c;
    char temp;
    for(int k=0;k<l;k++){
        s=(int)pow(10,k);
        temp=tmp.top();
        tmp.pop();
        c=(int)temp-48;
        ans+=c*s;
    }
    return ans;
}
int main(){
    stack<int> num;
    string str;
//    memset(tmp,0,sizeof(tmp));
    cin>>str;
    int size=str.size();
    int t1,t2;
    for(int i=0;i<size;i++){
        if(str[i]=='@'){
            printf("%d",num.top());
            return 0;
        }
        else if(str[i]!='.'&&!check(str[i]))
            tmp.push(str[i]);
        else if(str[i]=='.')
            num.push(gen(tmp.size()));
        else if(check(str[i])){
            t1=num.top();
            num.pop();
            t2=num.top();
            num.pop();
            num.push(fun(t1,t2,str[i]));
        }
    }
    return 0;
}

望大佬指教


by Orange0628 @ 2023-09-03 16:32:49

你来康康

再康康这个


|