通过公式法,我们可以解出所有一元二次方程,但是在使用公式的过程中计算非常复杂,所以制作出了这个可以通过二次项系数、一次项系数、常数项(a、b、c)直接求得一元二次方程的解的代码。
算法:
判别式:
求根公式:
代码:
#include<iostream>
#include<cmath>
#include<windows.h>
using namespace std;
double a,b,c,x1,x2;
int main(){
system("color F0");
cout<<"请输入二次项系数a:";
cin>>a;
cout<<"请输入一次项系数b:";
cin>>b;
cout<<"请输入常数项c:";
cin>>c;
if((b*b-4*a*c)>0){
x1=(-b+sqrt(b*b-4*a*c))/(2*a);
x2=(-b-sqrt(b*b-4*a*c))/(2*a);
cout<<"方程有两个不等的实数根"<<endl<<"x1="<<x1<<",x2="<<x2<<endl;
}else if((b*b-4*a*c)>=0){
x1=-b/(2*a);
cout<<"方程有两个相等的实数根"<<endl<<"x1=x2="<<x1<<endl;
}else{
cout<<"方程无实数根"<<endl;
}
system("pause");
return 0;
}