题解 | 计算一元二次方程刘惠版
计算一元二次方程
https://www.nowcoder.com/practice/7da524bb452441b2af7e64545c38dc26
#include <stdio.h>
#include <math.h>
int main(){
double a,b,c;//方程各项系数
double delta=0;
double x1,x2;
while(scanf("%lf %lf %lf",&a,&b,&c)!=EOF){
if(a==0){
printf("Not quadratic equation");
continue;
}
else {
delta= pow(b,2)-4*a*c;
if(delta==0){
double x=-b/(2*a);
if(x==0){
printf("x1=x2=0.00\n");
}
else {
printf("x1=x2=%.2lf\n",x);
}
}
else if(delta>0){
x1=(-b-sqrt(delta))/(2*a);
x2=(-b+sqrt(delta))/(2*a);
if(x1>x2){
int temp=x1;
x1=x2;
x2=temp;
}
printf("x1=%.2lf;x2=%.2lf\n",x1,x2);
}else{
double R=-b/(2*a);
double r=sqrt(-delta)/(2*a);
printf("x1=%.2lf-%.2lfi;x2=%.2lf+%.2lfi\n",R,r,R,r);
}
}
}
return 0;
}
查看10道真题和解析

