大佬们这个一元二次方程的求解方法哪里有什么问题吗? #include <iostream> #include <cmath> #include <iomanip> using namespace std; int main(int argc, char** argv) { float a,b,c; cin>>a>>b>>c; if(b*b==4*a*c){ //cout<<"x1=x2="<<fixed<<setprecision(5)<<-b/(2*a); printf("x1=x2=%0.5f",-b/(2*a)); return 0; } if(b*b>4*a*c){ //cout<<"x1="<<fixed<<setprecision(5)<<(-b+sqrt(b*b-4*a*c))/(2*a)<<";"<<"x2="<<fixed<<setprecision(5)<<(-b-sqrt(b*b-4*a*c))/(2*a); printf("x1=%0.5f;x2=%0.5f",(-b+sqrt(b*b-4*a*c))/(2*a),(-b-sqrt(b*b-4*a*c))/(2*a)); return 0; } if(b*b<4*a*c){ //cout<<"x1="<<fixed<<setprecision(5)<<(-b/(2*a))<<"+"<<fixed<<setprecision(5)<<(sqrt(4*a*c-b*b)/(2*a))<<"i"<<";"<<"x2="<<fixed<<setprecision(5)<<(-b/(2*a))<<"-"<<fixed<<setprecision(5)<<(sqrt(4*a*c-b*b)/(2*a))<<"i"; printf("x1=%0.5f+%0.5fi;x2=%0.5f-%0.5fi",-b/(2*a),(sqrt(4*a*c-b*b)/(2*a)),-b/(2*a),(sqrt(4*a*c-b*b)/(2*a))); return 0; } return 0; }
一元二次方程的求解
于 2023-08-03 18:58:05 首次发布