高手帮帮忙
这是个求一元2次方程的跟的程序,为什么输入4 4 1时,结果为-8.00,不是应该为-1/2的么,还有输入3 6 3时结果为-9.00,也是错的,为什么,帮忙找一下原因
#include<stdio.h>
#include<math.h>
void main()
{
float a,b,c,x1,x2,p,q,g;
scanf("%f%f%f",&a,&b,&c);
p=(-b)/2*a;
g=b*b-4*a*c;
q=sqrt(g)/2*a;
if(g>0)
{
x1=p+q;
x2=p-q;
printf("x1=%5.2f,x2=%5.2f\n",x1,x2);
}
if(g==0)
{
x1=p;
x2=p;
printf("x1=x2=%5.2f\n",x2);
}
if(g<0)
printf("no\n");
}
[此贴子已经被作者于2007-3-25 13:06:30编辑过]