求助82pts WA11 12
查看原帖
求助82pts WA11 12
1258467
hao12345ia楼主2024/8/6 11:54
#include<bits/stdc++.h>
using namespace std;
double t=1,l;
double x=-1,y=-1,z=-1;
stack<int> a,b,c;
double jia(int x,int y,int z){
    if(x==-1){
        return z-y;
    }
    if(y==-1){
        return z-x;
    }
    else{
        return x+y;
    }
}
double jian(int x,int y,int z){
    if(x==-1)
        return z+y;
    if(y==-1)
        return x-z;
    else
        return x-y;
}
double chen(long long x,long long y,long z){
     if(x==-1){
        return z/y;
    }
    if(y==-1){
        return z/x;
	}
    if(z==-1)
        return x*y;
}
double chu(double x,double y,double z){
    if(x==-1)
        return z*y;
    if(y==-1){
        return x/z;
	}
    if(z==-1)
        return x/y;
}
int main(){
    string s;
    getline(cin,s);
    int len=s.size();
    for(int i=0;i<len;){
		if(s[i]==' '){
			s.erase(i,1);
		}  
		else{
			i++;
		}
    }
    for(int i=0;i<s.size();i++){
    	if(s[i]>='0'&&s[i]<='9'){
    		if(t==1){
    			int k=i;
    			t++;
    			a.push(s[k]-'0');
				while(s[k+1]>='0'&&s[k+1]<='9'){
					k++;
					int l=s[k]-'0';
					a.push(l);
				}
			}
    		else if(t==2){
    			int k=i;
    			t++;
    			b.push(s[k]-'0');
				while(s[k+1]>='0'&&s[k+1]<='9'){
					k++;
					int l=s[k]-'0';
					b.push(l);
				}
			}
    		else if(t==3){
    			int k=i;
    			t++;
    			c.push(s[k]-'0');
				while(s[k+1]>='0'&&s[k+1]<='9'){
					k++;
					int  l=s[k]-'0';
					c.push(l);
				}
			}
		}
		else if(s[i]=='?'){
			t++;
		}
	}
	if(!a.empty()){
		x=a.top();
		a.pop();
		for(long long i=10;!a.empty();i*=10){
			x+=a.top()*i;
			a.pop();
		}
	}
	if(!b.empty()){
		y=b.top();
		b.pop();
		for(long long i=10;!b.empty();i*=10){
			y+=b.top()*i;
			b.pop();
		}
	}
	if(!c.empty()){
		z=c.top();
		c.pop();
		for(long long i=10;!c.empty();i*=10){
			z+=c.top()*i;
			c.pop();
		}
	}
	if(s[1]=='+')
        printf("%.2lf",jia(x,y,z));
    else if(s[1]=='-'){
        printf("%.2lf",jian(x,y,z));
    }
    else if(s[1]=='*'){
	    printf("%.2lf",chen(x,y,z));
    }
	else
        printf("%.2lf",chu(x,y,z));
}
2024/8/6 11:54
加载中...