#include<math.h>
main()
{
double a,b,c,d,x1,x2
while(1){
scanf(" %lf%lf%lf",&a,&b,&c)
d=b*b-4*a*c
else if(d==0) printf("此方程有一个实根为:%lf\n",-b/(2*a))
else printf("此方程有两个实根为分别为:%lf\t%lf\n",(-b-sqrt(d))/(2*a),(-b+sqrt(d))/(2*a))
}
}
刚写的一个,如图所示,望采纳。。。。。。
#include "stdio.h"#include "math.h"
/*求一元二次方程ax*x+bx+c=0的解*/
main()
{
float a,b,c,x1,x2,d
printf("请输入a:")
scanf("%f",&a)
printf("请输入b:")
scanf("%f",&b)
printf("请输入c:")
scanf("%f",&c)
d=b*b-4*a*c
if(d < 0)
printf("方程没有实数解。\n")
if (d==0)
{
x1=(-b)/(2*a)
printf("x1=%f\n",x1)
}
if (d>0)
{
x1=(-b+sqrt(d))/(2*a)
x2=(-b-sqrt(d))/(2*a)
printf("x1=%f,x2=%f\n",x1,x2)}
}
请输入a:12
请输入b:34
请输入c:4
x1=-0.122985,x2=-2.710348
Press any key to continue
#include <iostream>。
#include <cmath>。
using namespace std。
int main()。
{float a,b,cfloat x1,x2cin>a>>b>>cfloat dlt=b*b-4*a*cif(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/ax2=sqrt(-dlt)/2/acout<<a<<"x^2+"<<b<<"x+"<<c<<"=0有两个虚根:"。
cout<<"x="<<x1<<"+/-"<<x2<<"i"<<endl}。
return 0。
成立条件:
一元二次方程成立必须同时满足三个条件:
①是整式方程,即等号两边都是整式,方程中如果有分母;且未知数在分母上,那么这个方程就是分式方程,不是一元二次方程,方程中如果有根号,且未知数在根号内,那么这个方程也不是一元二次方程(是无理方程)。
②只含有一个未知数。
③未知数项的最高次数是2。