您的位置:首页 > 其它

算法:求一元二次方程的根

2017-12-03 23:28 162 查看

算法:求一元二次方程的根

实现代码:
#include <stdio.h>
#include <math.h>
int solution(double a,double b,double c,double &x1,double &x2)
{
double d;
d=b*b-4*a*c;
if (d>0)
{	x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
return 2;			//2个实根
}
else if (d==0)
{	x1=(-b)/(2*a);
return 1;	 		//1个实根
}
else					//d<0的情况
return 0;			//不存在实根
}
int main()
{
double a=2,b=-6,c=3;
double x1,x2;
int s=solution(a,b,c,x1,x2);
if (s==1)
printf("一个根:x=%lf\n",x1);
else if (s==2)
printf("两个根:x1=%lf,x2=%lf\n",x1,x2);
else
printf("没有根\n");
return 1;
}
输出结果:
两个根:x1=2.366025,x2=0.633975
请按任意键继续. . .
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: