代码:
#include <bits/stdc++.h>
using namespace std;
char c,p;
string s,temp;
int in1,in2,flag;
long long n1,n2,n;
int main(){
while (cin >>c){
if(c!=' '){
s+=c;
}
}
cout <<s <<"\n";
if(s.find("+")==string::npos){
in1=s.find("-");
}
else{
in1=s.find("+");
}
p=s[in1];
in2=s.find("=");
temp=s.substr(0,in1);
if(temp=="?"){
flag=1;
}
else{
for(int i=0;i<temp.length();i++){
n=n*10+temp[i]-'0';
}
n1=n;
n=0;
}
temp=s.substr(in1+1,in2-in1-1);
if(temp=="?"){
flag=2;
}
else{
for(int i=0;i<temp.length();i++){
n=n*10+temp[i]-'0';
}
if(flag==0) {
n2=n;
}
else {
n1=n;
}
n=0;
}
temp=s.substr(in2+1);
if(temp=="?"){
flag=3;
}
else{
for(int i=0;i<temp.length();i++){
n=n*10+temp[i]-'0';
}
n2=n;
}
if(flag==1){
if(p=='+'){
printf("%lld",n2-n1);
}
else{
printf("%lld",n2+n1);
}
}
else if(flag==2){
if(p=='+'){
printf("%lld",n2-n1);
}
else{
printf("%lld",n1+n2);
}
}
else{
if(p=='+'){
printf("%lld",n1+n2);
}
else{
printf("%lld",n1-n2);
}
}
return 0;
}
必关