社区讨论

quickly,求助!!!

P1689方程求解参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@m3zye1gk
此快照首次捕获于
2024/11/27 22:00
去年
此快照最后确认于
2025/11/04 13:47
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
string n,t;
long long x=0,y=0,z=0,p1=0,q1=0;
char o,p,q;
string kong(string s){
	string a="";
	for(int i=0;i<s.size();i++){
		if(s[i]!=' ')a+=s[i];
	}
	return a;
}
int main(){
	getline(cin,n);
	t=kong(n);
	for(int i=0;i<t.size();i++){
		if(t[i]=='-'||t[i]=='+'){o=t[i];p=t[i+1];p1=i;}
		else if(t[i]=='='){q=t[i+1];q1=i;}
	}
	if(t[0]=='?'){
		for(int i=p1+1;i<q1;i++)y=y*10+(t[i]-'0');
		for(int i=q1+1;i<t.size();i++)z=z*10+(t[i]-'0');
		if(o=='-'){
			cout<<y+z<<endl;
			return 0;
		}else if(o=='+'){
			if(y>z){
				cout<<"-"<<y-z<<endl;
				return 0;
			}
			cout<<z-y<<endl;
			return 0;
		}
	}else if(p=='?'){
		for(int i=0;i<p1;i++)x=x*10+(t[i]-'0');
		for(int i=q1+1;i<t.size();i++)z=z*10+(t[i]-'0');
		if(o=='-'){
			if(z>x){
				cout<<"-"<<z-x<<endl;
				return 0;
			}
			cout<<x-z<<endl;
			return 0;
		}else if(o=='+'){
			if(x>z){
				cout<<"-"<<x-z<<endl;
				return 0;
			}
			cout<<z-x<<endl;
			return 0;
		}
	}else if(q=='?'){
		for(int i=0;i<p1;i++)x=x*10+(t[i]-'0');
		for(int i=p1+1;i<q1;i++)y=y*10+(t[i]-'0');
		if(o=='-'){
			if(y>x){
				cout<<"-"<<y-x<<endl;
				return 0;
			}
			cout<<x-y<<endl;
			return 0;
		}else if(o=='+'){
			cout<<x+y<<endl;
			return 0;
		}
	}
	return 0;
}
Which DA SHEN can help me?(哪位大神能帮帮我?)
I don't know!!!(我不知道!!!)
我看不出来哪里错了?请各位大神帮忙看一下!

可关!!!!!但得在我的基础上帮我改一下or补充!!!!!

回复

2 条回复,欢迎继续交流。

正在加载回复...