样例全对,但是就是零分,不知道为什么……
#include<bits/stdc++.h>
#include<string>
using namespace std;
long long i,d,b,u=0,x=0,y=0,q=0;
string s="",s1;
int main(){
getline(cin,s1);
for(int i=0;i<s1.length();i++){
if(s1[i]!=' ')s+=s1[i];
} //去空格
d=s.find('='); //找等号
if(s.find('+')<s.length()){
b=s.find('+');
u=1;
}
else b=s.find('-');//找加号或减号
string s1,s2,s3;
s1=s.substr(0,b);
s2=s.substr(b+1,d-b-1);
s3=s.substr(d+1,s.length()-d-1); //切出数字或问号
int i=0;
while(i<s1.length()){
x+=(s1[i]-'0')*pow(10,s1.length()-i-1);
i++;
} //x是第一个数
i=0;
while(i<s2.length()){
y+=(s2[i]-'0')*pow(10,s2.length()-i-1);
i++;
} //y是第二个数
i=0;
while(i<s3.length()){
q+=(s3[i]-'0')*pow(10,s3.length()-i-1);
i++; //q是第三个数
} //全部转整数
if(s1=="?"){
if(u==1)cout<<q-y;
else cout<<q+y;
}
else if(s2=="?"){
if(u==1)cout<<q-x;
else cout<<x-q;
}
else if(s3=="?"){
if(u==1)cout<<x+y;
else cout<<x-y;
}
}
不敢相信橙题可以写两个小时……我是不是废了www……