被困扰了两年的问题
查看原帖
被困扰了两年的问题
933802
ICU152_lowa_IS8楼主2024/1/6 00:04

这个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;
}

应该有方法绕过精度问题,但是不是很能理解这个代码怎么锅了

2024/1/6 00:04
加载中...