这个B代码70分
#include<bits/stdc++.h>
#define eps 1e-10
using namespace std;
int main(){
double a,b,c;
cin>>a>>b>>c;
if(b*b-4*a*c<0){
cout<<"No answer!";
return 0;
}
double s=sqrt(b*b-4*a*c);
double x1=(-b+s)/2/a,x2=(-b-s)/2/a;
if(x1+eps>x2&&x1-eps<x2){
printf("x1=x2=%.5lf",x1);
}
else if(x1+eps<x2){
printf("x1=%.5lf;x2=%.5lf",x1,x2);
}
else{
printf("x2=%.5lf;x1=%.5lf",x2,x1);
}
return 0;
}
应该有方法绕过精度问题,但是不是很能理解这个代码怎么锅了