第九个点WA了大神求助
查看原帖
第九个点WA了大神求助
571594
李铭轩_T7楼主2022/6/18 13:29
#include<bits/stdc++.h>
using namespace std;
string s,tmp;
int a,b,c,k,num=1;
double x1,x2;
void read(){
	cin>>s;
	a=1;s.erase(0,3);
	int pos=s.find('x');
	int len=s.size();
	if(pos==-1)b=0;
	else{
		tmp=s.substr(0,pos);
		if(tmp[0]=='+')k=1;
		if(tmp[0]=='-')k=-1;
		tmp.erase(0,1);
		for(int i=tmp.size()-1;i>=0;i--){
			b+=(tmp[i]-'0')*num;
			num*=10;
		}b*=k;
		if(tmp.size()==0)b=1*k;
		s.erase(0,pos+1);
	}
	if(pos==len)c=0;
	else{
		tmp=s;
		if(tmp[0]=='+')k=1;
		if(tmp[0]=='-')k=-1;
		tmp.erase(0,1);num=1;
		for(int i=tmp.size()-1;i>=0;i--){
			c+=(tmp[i]-'0')*num;
			num*=10;
		}c*=k;
	}
}
void calculate(){
	x1=double((-b-sqrt(b*b-4*a*c))/2*a);
	x2=double((-b+sqrt(b*b-4*a*c))/2*a);
	x1*=-1;x2*=-1;
	if(x2>x1)swap(x1,x2);
}
void print(){
	if(x1==x2){
		if(x1==0)cout<<"x";
		else{
			cout<<"(x";
			if(x1>0)	cout<<"+"<<x1<<")";
			else   		cout<<"-"<<-x1<<")";
		}cout<<"^2";
	}else{
		if(x1==0)cout<<"x";
		else{
			cout<<"(x";
			if(x1>0)	cout<<"+"<<x1<<")";
			else   		cout<<"-"<<-x1<<")";
		}
		if(x2==0)cout<<"x";
		else{
			cout<<"(x";
			if(x2>0)	cout<<"+"<<x2<<")";
			else   		cout<<"-"<<-x2<<")";
		}			
	}
}
int main(){
	read();
	calculate();
	print();
	return 0;
} 
2022/6/18 13:29
加载中...