


先感谢各位的指导,真的不会写,写了一个多小时也还是不对,人都傻了。
#include<stdio.h>
#include<math.h>
int main() {
double a,b,c,d,x,r,m;
double x1=0;
double x2=0;
scanf("%lf %lf %lf",&a,&b,&c);
d=b*b-(4*a*c);
printf("d=%.2lf\n",d);
if(a==0&&b==0&&c==0){
printf("Zero Equation");
}else if(a==0&&b==0&&c!=0){
printf("Not An Equation");
}else if(d==0) { //德尔塔d是为0时,只有一个实数根。
x=(-b)/(2*a);
printf("%.2lf\n",x);
} else if(d>0){
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
if(x1>x2){
printf("x1=%.2lf,x2=%.2lf",x1,x2);
} else{
printf("x1=%.2lf,x2=%.2lf",x2,x1);
}
}else{
r=(-b)/(2*a);
m=sqrt(-d)/(2*a);
printf("%x1=.2lf+%.2lfi,x2=%.2lf-%.2lfi\n",r,m,r,m);
}
return 0;
}
祝你成功!