作业帮 > 综合 > 作业

C语言求一元二次方程的根

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/28 21:50:11
C语言求一元二次方程的根
能够执行,但程序判定只能得8分(满10分才算过),求大神指点我哪里不够严谨?
#include
#include
main(){
\x09double a,b,c,x1,x2,data;
\x09scanf("%lf %lf %lf",&a,&b,&c);
\x09if(a==0)return 0;
\x09else {
\x09data=(b*b)-(4*a*c);
\x09if(data==0){
\x09\x09x1=-b/(2*a);
\x09\x09printf("x1=x2=%.5lf",x1);
\x09}
\x09else if(data>0){
\x09 x1=(-b+sqrt(data))/(2*a);
\x09 x2=(-b-sqrt(data))/(2*a);
\x09\x09printf("x1=%.5lf;x2=%.5lf",x1,x2);
\x09}
\x09else printf("x1=%.5lf+%.5lfi;x2=%.5lf-%.5lfi",-b/(2*a),sqrt(-data)/(2*a),-b/(2*a),sqrt(-data)/(2*a));
\x09}
}
double类型的不能直接用==0来判断,用fabs(a)