求方程ax^2+bx+c=0 的根,
用三个函数分别求当b^2-4ac大于0、等于0、和小于0时的根,并输出结果。
从主函数输入a、b、c的值
(实根:指实数根,在中学阶段使√b^2 - 4 ac >=0 的跟就是实数根,其中当该数为0时,又被称为等根
实根算法:(-b土√b^2 - 4 ac)/2a 等根:-b/2a
虚根:由是跟定义知当√b^2 -4 ac 小于0时是没有实数根的,但在虚数学习中,我们涉及过虚根概念,
虚根的两个根相乘则得到b^2 -4 ac
虚根实部算法:-b/2a 虚根虚部算法:-√b^2 -4 ac /2a
虚根结果 : -b/2a 土 (√b^2 -4 ac /2a)i(i为虚数))
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
void f(double a,double b,double c)
{
double n=b*b-4*a*c;
if(n>0||n==0)
{
cout<<"x1="<<(-b+sqrt(n))/(2*a)<<' ';
cout<<"x2="<<(-b-sqrt(n))/(2*a);
}
if(n<0)
{
cout<< setiosflags(ios::fixed) << setprecision(3)<<"x1="<<(-b/(2*a))<<'+'<<sqrt(-n)/(2*a)<<'i'<<' ';
cout<< setiosflags(ios::fixed) << setprecision(3)<<"x2="<<(-b/(2*a))<<'-'<<sqrt(-n)/(2*a)<<'i';
}
}
int main()
{
double a,b,c;
cin>>a>>b>>c;
f(a,b,c);
return 0;
}