2541 - [语言过关]求一元二次方程的解

fc.pas/c/c/cpp

求出一元二次方程a*x2+b*x+c=0的根,如果有解请输出正解,如果无解请输出:NOANSWER

输入格式

只有一行为三个整数,分别为a,b,c。

输出

输出只有一行,如果有解输出解(一个解就输出一个数,两个解就两个解在一行输出,输出结果保留3位小数位,无解输出NOANSWER)

样例输入

1 3 2

样例输出

-1.000 -2.000

题目输入

题目输出

输入/输出样例

题目输入


                

题目输出


                

C语言解答

#include<stdio.h>
#include<math.h>
int main()
{
	int a, b, c;
	double res1, res2;
	scanf("%d%d%d", &a, &b, &c);
	res1 = ((-b) + sqrt(pow(b, 2) - (4 * a*c))) / ((2)*a);
	res2 = ((-b) - sqrt(pow(b, 2) - (4 * a*c))) / ((2)*a);
	if (sqrt(pow(b, 2) - (4 * a*c))==0)
		printf("%.3lf\n", res1);
	else if (sqrt(pow(b, 2) - (4 * a*c)) > 0)
		printf("%.3lf %.3lf\n", res1, res2);
	else
		printf("NOANSWER\n");
	return 0;
}

时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题