当我走头无路时……

P1449 后缀表达式

iren @ 2017-07-12 18:26:06

当我正思考要不要对加减乘除写四个if语句时,我看了一眼题解。

它让我震惊。

switch语句!

那一瞬间我感觉我好智障。


by iren @ 2017-07-12 18:27:16

顺便发下我的代码:

#include<iostream>
#include<cstring>
#include<cstdio>
#include<stack>
using namespace std;
int main(){
    stack<int> q;
    char a;
    int num=0;
    while(scanf("%c",&a)&&a!='@'){
        if(a>='0'&&a<='9')
            num=num*10+(a-'0');
        else if(a=='.'){
            q.push(num);
            num=0;
        } 
        else{
            int x=q.top();q.pop();
            int y=q.top();q.pop();
            switch(a){
                case '+':q.push(x+y);break;
                case '-':q.push(y-x);break;
                case '*':q.push(x*y);break;
                case '/':q.push(y/x);break;
            }
        }
    }
    cout<<q.top();
    return 0;
}

by damage @ 2017-09-23 12:07:19

这不是废话吗……走‘头’无路?

走投无路


|