悬1关
#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <algorithm>
#include <string>
#include <vector>
#include <queue>
#include <stack>
#include <set>
#include <deque>
#include <map>
using namespace std;
char ch,opp;
int now=1;
double num[5];
bool noNum[5];
int main(){
while(cin>>ch){
//cerr<<ch;
if(ch>='0'&&ch<='9'){
num[now]=int(ch)-48;
while(cin>>ch&&((ch>='0'&&ch<='9')||ch==' ')){
num[now]*=10;
num[now]+=int(ch)-48;
}
}
if(ch=='+'||ch=='-'||ch=='*'||ch=='/'){
opp=ch;
now++;
}
if(ch=='?')noNum[now]=1;
if(ch=='=')now++;
}
//cerr<<num[1]<<" "<<num[2]<<" "<<num[3]<<" "<<opp<<endl;
if(opp=='+'){
if(noNum[1]){
printf("%.2lf",num[3]-num[2]);
}
if(noNum[2]){
printf("%.2lf",num[3]-num[1]);
}
if(noNum[3]){
printf("%.2lf",num[1]+num[2]);
}
}
if(opp=='-'){
if(noNum[1]){
printf("%.2lf",num[2]+num[3]);
}
if(noNum[2]){
printf("%.2lf",num[1]-num[3]);
}
if(noNum[3]){
printf("%.2lf",num[1]-num[2]);
}
}
if(opp=='*'){
if(noNum[1]){
printf("%.2lf",num[3]*1.0/num[2]);
}
if(noNum[2]){
printf("%.2lf",num[3]*1.0/num[1]);
}
if(noNum[3]){
printf("%.2lf",num[1]*1.0*num[2]);
}
}
if(opp=='/'){
if(noNum[1]){
printf("%.2lf",num[3]*1.0*num[2]);
}
if(noNum[2]){
printf("%.2lf",num[3]*1.0*num[1]);
}
if(noNum[3]){
printf("%.2lf",num[1]*1.0/num[2]);
}
}
//system("pause");
return 0;
}