蒟蒻求debug

题目总版

@[Walnutjuice](/user/1185284) 你前面没加break,改一下就ac了 ``` #include <bits/stdc++.h> using namespace std; int main(){ int part=1,x=0,y=0,z=0; string s; bool flag=true; const int mark=0x3f3f3f; getline(cin,s); for(int i=0;i<s.length();i++){ if(s[i]==' ')continue; if(isdigit(s[i])){ switch(part){ case 1:x=x*10+(s[i]-'0');break; case 2:y=y*10+(s[i]-'0');break; case 3:z=z*10+(s[i]-'0');break; } } switch(s[i]){ case '+':part=2;break; case '-':part=2,flag=false;break; case '=':part=3;break; case '?': if(part==1)x=mark; if(part==2)y=mark; if(part==3)z=mark; break; } } if(flag){ if(x==mark)cout<<z-y<<endl; else if(y==mark)cout<<z-x<<endl; else cout<<x+y<<endl; }else{ if(x==mark)cout<<y+z<<endl; else if(y==mark)cout<<x-z; else cout<<x-y<<endl; } return 0; }
by ilibilib @ 2023-11-19 13:59:24


|