只含有一个未知数(一元),并且未知数项的最高次数是2(二次)的整式方程叫做一元二次方程。标准形式为:ax²+bx+c=0(a≠0)。
一、开平方法。
形如x²=p 或(nx+m)²=p(p≥0)的一元二次方程可采用开平方法解一元二次方程。
二、配方法。
将一元二次方程配成(x+m)²=n的形式,再利用直接开平方法求解的方法。
用配方法解一元二次方程的步骤:
①把原方程化为一般形式;
②方程两边同除以二次项系数,使二次项系数为1,并把常数项移到方程右边;
③方程两边同时加上一次项系数一半的平方;
④把左边配成一个完全平方式,右边化为一个常数;
⑤进一步通过直接开平方法求出方程的解,如果右边是非负数,则方程有两个实数根。
用求根公式法解一元二次方程的一般步骤为:
①把方程化成一般形式 ,确定a,b,c的值(注意符号);
②求出判别式的值,判断根的情况;
③在Δ≥0的前提下,把a、b、c的值代入公式。
希望我能帮助你解疑释惑。
#include<stdioh>
#include<mathh>
int main()
{
double a,b,c,x1,x2,d;
scanf("%lf%lf%lf",&a,&b,&c);
if(a==0)
{
if(b==0)
{
if(0==c)
{
printf("恒等式:0+0+0=0\n");
}
else
{
printf("输入错误,不能构成等式!\n");
}
}
else
{
printf("只能构成一元一次方程,x=%2lf\n",0==-(double)c/b 0 : -(double)c/b);
}
}
else
{
d=bb-4ac;
if(d<0)
{
printf("x1=%2lf+%2lfi\nx2=%2lf-%2lfi\n",(-b)/(20a),sqrt(-d)/(20a),(-b)/(20a),sqrt(-d)/(20a));
}
else if(d==0)
{
printf("x1=x2=%2lf\n",(-b)/(20a));
}
else
{
x1=(-b+sqrt(d))/(20a);
x2=(-b-sqrt(d))/(20a);
printf("x1=%2lf\nx2=%2lf\n",x1,x2);
}
}
return 0;
}
#include <iostream> 。
#include <cmath>。
using namespace std。
int main()。
{float a,b,c;float x1,x2; cin>a>>b>>c;float dlt=bb-4ac;if(dlt>=0){x1=-b/2/a+sqrt(dlt)。
/2/ax2=-b/2/a-sqrt(dlt)/2/a。
cout<<a<<"x^2+"<<b<<"x+"<<c<<"=0有两个实根:";cout<<"x1="<<x1<<",x2="<<x2<<endl;} 。
else。
{x1=-b/2/a;x2=sqrt(-dlt)/2/a;cout<<a<<"x^2+"<<b<<"x+"<<c<<"=0有两个虚根:"。
cout<<"x="<<x1<<"+/-"<<x2<<"i"<<endl;}。
return 0。
成立条件:
一元二次方程成立必须同时满足三个条件:
①是整式方程,即等号两边都是整式,方程中如果有分母;且未知数在分母上,那么这个方程就是分式方程,不是一元二次方程,方程中如果有根号,且未知数在根号内,那么这个方程也不是一元二次方程(是无理方程)。
②只含有一个未知数。
③未知数项的最高次数是2。
以上就是关于如何用c程序求一元二次方程的根全部的内容,包括:如何用c程序求一元二次方程的根、编写c语言程序,求解一元二次方程ax²+bx+c=0,系数a,b,c用键盘输入、c语言解一元二次方程是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)