#include <algorithm>
#include <iostream>
#include <cstring>
#include <iomanip>
#include <cstdio>
#include <limits>
#include <math.h>
#include <string>
#include <vector>
#include <cmath>
#include <deque>
#include <queue>
#include <stack>
#include <map>
#include <set>
using namespace std;
typedef double dl;
typedef long long ll;
typedef long double ld;
typedef unsigned long long ull;
string s,n,s1,s2,s3;
ll yi,er,san,wei,fw,dw,linwei;
char fu;
ll poww(ll a,ll b)
{
ll ans=1;
for(ll i = 1;i <= b;i++) ans*=a;
return ans;
}
int main()
{
getline(cin,s);
n="";
for(int i = 0;i < s.size();i++) if((s[i]>='0'&&s[i]<='9') || s[i]=='+' || s[i]=='-' || s[i]=='*' || s[i]=='/' || s[i]=='=' || s[i]=='?') n+=s[i];
int len = n.size();
linwei = 1;
wei=1;
for(int i = 0;i < len;i++)
{
if(n[i]=='?') linwei=wei;
if(n[i]=='+') {fu='+';fw=i;wei++;}
if(n[i]=='-') {fu='-';fw=i;wei++;}
if(n[i]=='*') {fu='*';fw=i;wei++;}
if(n[i]=='/') {fu='/';fw=i;wei++;}
if(n[i]=='=') {wei++;dw=i;}
}
if(linwei==1) {fu=char(n[1]);fw=1;}
wei=linwei;
if(wei!=1)
{
for(int i = 0;i < fw;i++)s1+=n[i];
if(wei!=2)
{
for(int i = fw+1;i < dw;i++)s2+=n[i];
s3='?';
}
if(wei==2)
{
s2='?';
for(int i = dw+1;i < len;i++)s3+=n[i];
}
}
else
{
s1='?';
if(wei!=2)
{
for(int i = fw+1;i < dw;i++)s2+=n[i];
s3='?';
}
if(wei==2)
{
s2='?';
for(int i = dw+1;i < len;i++)s3+=n[i];
}
}
reverse(s1.begin(),s1.end());
reverse(s2.begin(),s2.end());
reverse(s3.begin(),s3.end());
if(s1!="?") for(int i = 0;i < s1.size();i++) yi+=int(s1[i]-'0')*poww(10,i);
if(s2!="?") for(int i = 0;i < s2.size();i++) er+=int(s2[i]-'0')*poww(10,i);
if(s3!="?") for(int i = 0;i < s3.size();i++) san+=int(s3[i]-'0')*poww(10,i);
if(s1=="?")
{
if(fu=='+') printf("%.2lf",double(san)-double(er));
if(fu=='-') printf("%.2lf",double(san)+double(er));
if(fu=='*') printf("%.2lf",double(san)/double(er));
if(fu=='/') printf("%.2lf",double(san)*double(er));
}
if(s2=="?")
{
if(fu=='+') printf("%.2lf",double(san)-double(yi));
if(fu=='-') printf("%.2lf",double(yi)-double(san));
if(fu=='*') printf("%.2lf",double(san)/double(yi));
if(fu=='/') printf("%.2lf",double(yi)/double(san));
}
if(s3=="?")
{
if(fu=='+') printf("%.2lf",double(yi)+double(er));
if(fu=='-') printf("%.2lf",double(yi)-double(er));
if(fu=='*') printf("%.2lf",double(yi)*double(er));
if(fu=='/') printf("%.2lf",double(yi)/double(er));
}
return 0;
}
蒟蒻求助WAon#1、#4、#7、#10