#include<stdio.h>
#include<math.h>
void main()
{double a,b,c,x1,x2;
scanf("%lf%lf%lf",&a,&b,&c);
if(a==0)
{printf("不是一元二次方程\n");
if(b==0&&c!=0)
printf("error\n");
if(b==0&&c==0) printf("无数解\n");
if(b!=0)
x1=-c/b; printf("x1=%lf",x1);
}
else if(b*b-4*a*c==0)
{ x1=x2=-b/(2*a);
printf("x1=x2=%lf%\n",x1); }
else if(b*b-4*a*c>0)
{x1=(-b+sqrt(b*b-4*a*c))/(2*a);
x2=(-b-sqrt(b*b-4*a*c))/(2*a);
printf("x1=%lf
x2=%lf\n",x1,x2); }
else if(b*b-4*a*c<0) printf("无实数解\n");
}
谭浩强书上有这样的例题
我没参照上面的来
我这个程序没有考虑计算复数的程序 其他可能都包含进去了 但是看起来很繁琐
水平有限啊