一元二次方程求解
Input
有多组数据。每组数据由三个双精度数组成,分别表示一元二次方程的三个系数。
Output
方程的根。如果二次项的系数为0,则输出“not a quadric equation!”。
Sample Input
1 9 2
2 -4 1
1 2 3
0 2 3
Sample Output
-0.23,-8.77
1.71,0.29
-1.00+1.41i,-1.00-1.41i
not a quadric equation!
#include<stdio.h>
#include<math.h>
int fun(double a,double b,double c){
if(a==0){
printf("not a quadric equation!");
}
else{
double delta=b*b-4*a*c;
double m=-b/(2*a);
double n=sqrt(fabs(delta))/(2*fabs(a));
if(delta<0){
printf("%.2lf+%.2lfi,%.2f-%.2fi\n",m,n,m,n);
}
else if(delta==0){
printf("%.2lf+%.2lfi\n",m,n);
}
else{
printf("%.2lf,%.2lf",m+n,m-n);
}
}
}
int main(){
double a,b,c;
while(~scanf("%lf%lf%lf",&a,&b,&c)){
fun(a,b,c);
}
}