样例全对却只有50分,悬关求条
查看原帖
样例全对却只有50分,悬关求条
1220210
LYT_wangshu楼主2025/7/26 11:26
#include<bits/stdc++.h>
using namespace std;
const int MAXN=1e3+10;
string s;
char a[MAXN];
bool bMinus=false;
void pre(){
	string s1="";
	int i=0;
	while(i<s.size()){
		if(s[i]==' '){
			i++;
			continue;
		}
		s1+=s[i];
		i++;
	}
	s=s1;
}
void addOrMinus(){
	int i=0;
	while(i<s.size()){
		if(s[i]=='-'){
			bMinus=true;
			return;
		}
		i++;
	}
}
int s2i(string ss){
	int ans=0,i=0;
	while(i<ss.size()){
		ans=ans*10+(ss[i]-'0');
		i++;
	}
	return ans;
}
int main(){
	cin.getline(a,MAXN-1);
	s=a;
	pre();
	addOrMinus();
	int ipos=s.find(bMinus?'-':'+',0),ipos2=s.find('=',ipos+1);
	string s1=s.substr(0,ipos),s2=s.substr(ipos+1,ipos2-(ipos+1));
	string s3=s.substr(ipos2+1,s.size()-(ipos2+1));
	if(s1=="?"){
		int is2=s2i(s2),is3=s2i(s3);
		cout<<(bMinus?(is3+is2):(is3-is2))<<endl;
	}
	else if(s2=="?"){
		int is1=s2i(s1),is3=s2i(s3);
		cout<<(bMinus?(is3+is1):(is3-is1))<<endl;
	}
	else{
		int is1=s2i(s1),is2=s2i(s2);
		cout<<(bMinus?(is1-is2):(is1+is2))<<endl;
	}
	return 0;
}
2025/7/26 11:26
加载中...