题解 | #计算一元二次方程#
计算一元二次方程
https://www.nowcoder.com/practice/7da524bb452441b2af7e64545c38dc26
#include<stdio.h> #include<math.h> int main() { float a,b,c; float dert; float x1,x2; float x01; while(scanf("%f %f %f",&a,&b,&c)!=EOF) { if(a==0) printf("Not quadratic equation\n"); else { dert=b*b-4*a*c; if(dert==0) { if(b==0) { printf("x1=x2=0.00\n"); } else { x1=x2=(0-b)/(2*a); printf("x1=x2=%.2f\n",x1); } } else if(dert>0) { x1=(0-b)/(2*a)-sqrt(dert)/(2*a); x2=(0-b)/(2*a)+sqrt(dert)/(2*a); printf("x1=%.2f;x2=%.2f\n",x1,x2); } else if(dert<0) { float i1,i2; float i=sqrt(0-dert)/(2*a); x01=(0-b)/(2*a); if(i<0) { i1=i; i2=0-i; printf("x1=%.2f%.2fi;x2=%.2f+%.2fi\n",x01,i1,x01,i2); } else { i1=i; i2=i; printf("x1=%.2f-%.2fi;x2=%.2f+%.2fi\n",x01,i1,x01,i2); } } } } return 0; }