没有带括号的表达式计算

#include
using namespace std;
int main() {


    double a[1010];
    while(~scanf("%lf",&a[0])) {
        char op;
        int i=0;
        double nex;
        while(~scanf("%c",&op)&&op!='\n') {
            scanf("%lf",&nex);
            switch(op) {
            case '+':
                a[++i]=nex;break;
            case '-':
                a[++i]=-nex;break;
            case '*':
                a[i]*=nex;break;
            case '/':
                a[i]/=nex;break;
            }
        }
        double ans=0;
        for(int j=0;j<=i;j++){
            ans+=a[j];
        }
        cout<<ans<<endl;
    }
    return 0;
}

你可能感兴趣的:(11)