658. 一元二次方程公式

658. 一元二次方程公式

读取三个浮点数 a,b,ca,b,c 的值,利用一元二次方程求根公式对方程 ax^2 + bx + c = 0 进行求解。

如果 b^2 − 4ac < 0 导致方程无解或 a = 0,则输出 Impossivel calcular

输入格式

输入三个浮点数 a,b,c。

输出格式

参照输出格式,输出方程的根,输出结果保留五位小数,如果无解则输出 Impossivel calcular

两个根可以按任意顺序输出,都算正确。

数据保证不存在只有一个解的情况。

数据范围

−1000.0≤a,b,c≤1000.0

输入样例:

10.0 20.1 5.1

输出样例:

R1 = -0.29788
R2 = -1.71212
#include <cstdio>
#include <cmath>

int main()
{
	double a, b, c, d, x1, x2;
	scanf("%lf%lf%lf", &a, &b, &c);
	d = b * b -  4 * a * c;
	
	if (d < 0 || a == 0) printf("Impossivel calcular\n");
	else 
	{
		x1 = (-b + sqrt(d)) / (2 * a);
		x2 = (-b - sqrt(d)) / (2 * a);
		printf("R1 = %.5lf\nR2 = %.5lf\n", x1, x2);
	}
	
	
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_42465670/article/details/115069858