描述
求一元二次方程的根,其中a不等于0。结果要求精确到小数点后5位。
格式
输入格式
输入一行,包含三个浮点数a, b, c(它们之间以一个空格分开),分别表示方程a的系数。
输出格式
输出一行,表示方程的解。 若两个实根相等,则输出形式为:“”; 若两个实根不等,在满足根小者在前的原则,则输出形式为:““; 若无实根输出“No answer!”。 所有输出部分要求精确到小数点后5位,数字、符号之间没有空格。
样例
输入样例
-15.97 19.69 12.02
输出样例
x1=-0.44781;x2=1.68075
限制
时间限制: 1000 ms
内存限制: 65536 KB
提示
判别式delta=bb-4ac,x=(-b±根号(delta))/(2a)。
int main(){
double a,b,c,x1,x2,del;
scanf("%lf %lf %lf",&a,&b,&c);
del=b*b-4*a*c;
x1=(-b+sqrt(del))/(2*a);
x2=(-b-sqrt(del))/(2*a);
if(del<0) printf("No answer");
else{
if(del==0)
printf("x1=x2=%.5lf",x1);
else{
if(x1>x2) swap(x1,x2);
printf("x1=%.5lf;x2=%.5lf",x1,x2);
}
}
}