下列程序用于求解二次方程有错吗(C语言中)

来源:百度知道 编辑:UC知道 时间:2024/06/16 19:28:19
#include <stdio.h>
#include <math.h>
void main ()
{
float a,b,c,d,p,q,x1,x2;
printf("请输入二次方程的三个系数");
scanf("a=%f,b=%f,c=%f",&a,&b,&c);
d=b*b-4*a*c;
p=-b/(2*a);
q=sqrt(d)/(2*a);
x1=p+q;
x2=p-q;
printf("x1=%5.2f\nx2=%5.2f\n",x1,x2);
}
在判别式大于零的情况下

如果判别式大于零的话,可以这么做,不过一个完美的程序肯定要做一下可能会出现的错误的处理,比如判别式小于零怎么样等等

你没分情况呢,应该分一下当a=0;判别式小于0,等于0,大于0这几种情况啊!

可以这么求
但是最好做下错误情况的处理
好似我做过的不是这么做的
是用二分法 还是什么的 呵呵
忘记了