这是个求一元二次方程根程序,横线上怎么填

这是个求一元二次方程根程序,横线上怎么填,第1张

根据一元二次方程的求根公式,

x1=[-b+√(b²-4ac)]/(2a)

x2=[-b-√(b²-4ac)]/(2a)

横线上应该填:

q=sqrt(disc)/(2a)

#include<stdioh>

#include<mathh>

int main()

{

     int a,b,c;

     float d;

 

     printf("请输入三个系数,以空格间隔(a b c):");

     scanf("%d%d%d",&a,&b,&c);

     d=(float)bb-4ac;

     if(d>0)

     {

         printf("方程%dX^2+%dX+%d=0的根为:",a,b,c);

         printf("x1=%f x2=%f\n",(-10b-sqrt(d))/20/a,(-10b+sqrt(d))/20/a);

     }

     else if(d==0)

     {

         printf("方程%dX^2+%dX+%d=0的根为:",a,b,c);

         printf("x=%f\n",-10b/20/a);

     }

     else

     {

         printf("方程%dX^2+%dX+%d=0的没有实数根\n",a,b,c);

     }

     return 0; 

}

请输入三个系数,以空格间隔(a b c):3 6 2

方程3X^2+6X+2=0的根为:x1=-1577350 x2=-0422650

最简单高效的方法,x=(-b

+/-

sqrt(bb-4ac))/2/a

先判断是否存在根再做

还有就是用切线逼近法,首先预计解得范围,x1

x2,如果从x2入手,做x2处方程的切线,交x轴于x0,y[x0]与y[x2]符号相同说明解在x1-x0之间,符号相反说明在x0-x2之间,按这个方法递归下去,直到

递归后的x0和和x1相等或者x0和x2相等,此时x0就是他的解,不知LZ明白没,这是个数学问题,就是个零点存在定理

因为x^2-2x-8=0,

所以a=1,b=-2,c=-8,

所以b^2-4ac=(-2)^2-41(-8)=4+32=36,

所以x1,2=[-b±√(b^2-4ac)]/(2a)=(2±√36)/2=(2±6)/2,

所以x1=4,x2=-2

#include "stdioh"

#include "mathh"

void f1(double a,double b,double d){

d=sqrt(d),a+=a,b=-b;

printf("x1 = %f\nx2 = %f\n",(b+d)/a,(b-d)/a);

}

void _f(double a,double b,double d){

d=sqrt(-d),a=-b/a/2,b=d/a/2; 

printf("x1 = %f%+fi\nx2 = %f%+fi\n",a,b,a,-b);

}

void f0(double a,double b){

printf("x1=x2 = %f\n",-b/a/2);

}

int main(int argv,char argc[]){

double a,b,c,d;

printf("Input a, b, c(R:)\n");

scanf("%lf%lf%lf",&a,&b,&c);

if((d=bb-4ac)>0)

f1(a,b,d);

else if(d<0)

_f(a,b,d);

else

f0(a,b);

return 0;

}

运行样例:

以上就是关于这是个求一元二次方程根程序,横线上怎么填全部的内容,包括:这是个求一元二次方程根程序,横线上怎么填、c++c语言计算aX2+bX+c=0的根。程序编写、c++求方程ax2+bx+c=0的根的程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9853130.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存