有没有懂哥能看出来哪里不符合题意吗?还有地方没考虑到!
#include <iostream>
#include <cstdio>
#include <math.h>
using namespace std;
int main()
{
double a,b,c,x1,x2,k;
scanf("%lf %lf %lf",&a,&b,&c);
x1 = (-b+sqrt(b*b-4.0*a*c))/(2.0*a);
x2 = (-b-sqrt(b*b-4.0*a*c))/(2.0*a);
if(a!=0){
if(b*b==4.0*a*c){
printf("x1=x2=%.5lf",x1);
}
else if(b*b>4.0*a*c){
printf("x1=%.5lf;x2=%.5lf",x1,x2);
}
else if(b*b<4.0*a*c){
x1= -b/(2.0*a),k=sqrt(4.0*a*c-b*b)/(2.0*a);
x2= -b/(2.0*a);
printf("x1=%.5lf+%.5lfi;x2=%.5lf-%.5lfi",x1,k,x2,k);
}
}
else{
printf("不成立");
}
return 0;
}