一元二次方程怎么解

如题所述

有很多种解法,最万能的解法就是公式法,即
ax^2+bx+c=0(a,b,c是常数)
即可得:x=-b±(b^2-4ac)^0.5/2a
当b^2>4ac时,此方程有两个不想等的实根。
当b^2=4ac时,此方程有两个相等的实根。
当b^2<4ac时,此方程有两个共轭虚根。
对于一些特殊的一元二次方程,还有以下特殊解法:
直接开平方法,当方程中的一次项系数为0时,ax^2+c=0
可解得:x=±(c/a)^0.5
完全平方公式法(含配方法):
通过完全平方公式将方程等号左边化为ax^2+2abx+b^2的形式,等号右边留有一个常数c,使方程变为
(ax+b)^2=c
则x=(±c^0.5-b)/a
十字相乘法,当方程可化为(ax+b)(cx+d)=0的形式时,可以使用十字相乘法,此时方程解为:
x1=-a/b,x2=-c/d
满意请采纳。追答

补充:x^0.5=根号x

一个数的0.5次方等于这个数的算术平方根。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-08-05
很高兴为您解答.原代码中的scanf和printf中的%要放在d和lf的前面才对,改正后运算无误~#include#includevoidmain(){doublex1;//x1,x2分别为方程的2个解doublex2;doublemelt;inta;intb;//初始化ABC的三个变量intc;printf("请输入abc三个数的值:");scanf("%d%d%d",&a,&b,&c);//输入ABC的时候需要空格melt=b*b-4*a*c;//初始化melt的值if(melt>0){x1=(-b+sqrt(melt))/(2*a);x2=(-b-sqrt(melt))/(2*a);printf("2个解,x1=%lf,x2=%lf\n",x1,x2);}elseif(melt==0){x1=(-b)/(2*a);x2=x1;printf("1个解,x1=%lf,x2=lf%\n",x1,x2);}else{printf("无解\n");}}如您还有不解,欢迎追问~
第2个回答  2017-08-05
公式法,配方法,完全平方法,十字相乘法
第3个回答  2017-08-05
很多在职考研的人往往是因为不满足现状,想到了,尽力了,也没什么遗憾了。值与不值,关键在于自己心里的评判,你在乎什么不在乎什么,别人给不了答案。
第4个回答  2017-08-05
最简单的方法:套公式。
相似回答