哈!咋就没有人把复根也写出来啊?...
我来加上...借用了点楼上的代码...
#include <stdio.h>
#include<math.h>
void main(){
double a,b,c,disc,p,q;
scanf("%lf,%lf,%lf",&a,&b,&c);
disc=b*b-4*a*c;
p=-b/(2.0*a);
if(disc==0)printf("实根:\nx1=x2=%lf\n",p);
else{
q=sqrt((disc>0)?disc:-disc)/(2.0*a);
if(disc<0)printf("复根:\nx1=%lf+%lf*i\nx2=%lf-%lf*i\n",p,q,p,q);
else printf("实根:\nx1=%lf\nx2=%lf\n",p+q,p-q);
}
}
我来加上...借用了点楼上的代码...
#include <stdio.h>
#include<math.h>
void main(){
double a,b,c,disc,p,q;
scanf("%lf,%lf,%lf",&a,&b,&c);
disc=b*b-4*a*c;
p=-b/(2.0*a);
if(disc==0)printf("实根:\nx1=x2=%lf\n",p);
else{
q=sqrt((disc>0)?disc:-disc)/(2.0*a);
if(disc<0)printf("复根:\nx1=%lf+%lf*i\nx2=%lf-%lf*i\n",p,q,p,q);
else printf("实根:\nx1=%lf\nx2=%lf\n",p+q,p-q);
}
}