必威体育Betway必威体育官网
当前位置:首页 > IT技术

解一元二次方程的根

时间:2019-10-17 11:44:36来源:IT技术作者:seo实验室小编阅读:73次「手机版」
 

一元二次方程

解一元二次方程的根:

一元二次方程:ax*x+bx+c=0

基本思路:

1、a=0时,此方程不是一元二次方程,而是bx+c=0,此时方程的解为x=-c/b;

2、当a≠0时,此方程才是一元二次方程,同时会出现以下情况:

(1)b*b-4*a*c=0,此时方程有两个相等的实根,即x1=x2=-b/2a;

(2)b*b-4*a*c>0,此时方程有两个不相等的实根,x1=              ,x2=

(3)b*b-4*a*c<0,此方程无实根。

编程思路:

头文件选择:

#include <stdio.h>:标准输入输出代码

#include <math.h>:数学函数库,一些数学计算的公式具体实现,比如平方,开方等。Sqrt()--平方根计算

定义变量:void Fun(double a,double b,double c)

{ double x1;

double x2;

double d = b*b - 4*a*c;

因为方程的根在大多情况下是小数,所以此时定义变量用浮点型或者double型。

使用宏定义:#define EPS 0.000001

因为定义的变量为浮点型,而浮点型不能用来作比较,故而通过定义一个精度,使用时在给定范围内,可将其结果近似为0,从而完成变量与零值的比较;

算法思路:

     

代码:

#include <stdio.h>

#include <math.h>

#define EPS 0.000001

void Fun(double a,double b,double c)

{

double x1;

double x2;

double d = b*b - 4*a*c;

if(-EPS<=a && a<EPS)//a==0

{

x1 = x2 = -c/b;

printf("x1=%f,x2=%f\n",x1,x2);

}

else //a != 0

{

if(-EPS<=d && d<=EPS)//d==0

{

x1=x2=-b/(2*a);

printf("x1=%f,x2=%f\n",x1,x2);

}

else

{

if(d > EPS)

{

x1 = (-b+sqrt(d))/(2*a);

x2 = (-b-sqrt(d))/(2*a);

printf("x1=%f,x2=%f\n",x1,x2);

}

else //d<0

{

printf("无实根\n");

}

}

}

}

int main()

{

Fun(0,1,2);

Fun(1,2,1);

Fun(1,4,2);

Fun(1,1,1);

return 0;

}

相关阅读

五笔字根表口诀的通俗易懂讲解

从上面五笔学习导图,我们不难看出,五笔只包含两个部分,一是独立字。二是字根字。1 先来讲解独立字。独立字就是不用字根就可以输出的

HTML选择下拉框后,页面内容根据选择去变化

有时候,我们需要去实现选择下拉选之后,页面上的内容根据选择的不同而进行不同的变化。我在这里需要实现的是下拉选选择的是公司,公司

一元二次方程求根公式推导过程

Ax*x+Bx+C=0两边同时除以二次项系数A 常数项C移动到等号另一边 为了配方,两边同时加一次项系数B的二分之一的平方 最后开方整理记

根据现有产品数据,如何做一次数据分析呢?

在数据分析前要找到分析的目标,带着问题去分析,也就是了解前期数据分析的需求,后期,需要做数据回报才具有针对性,目的性。需求分析师是

面试题:如何求根号2

Great Eagle 程序猿DD来源:算法面试题问题小E最近找实习的时候,被面试官问了这样一道题:如何求根号2的值?小E没能答上来,回来后向老师

分享到:

栏目导航

推荐阅读

热门阅读