经典例题:求一元二次方程的根。 欢迎大家评论!
求ax2+bx+c=0的根。
输入格式:
在一行给出a(=0)、b、c三个整数的值(a非)。
输出格式:
如果有实数根,在一行从小到大顺序输出两个根,保留小数点后2位。如果是虚数根,输出两个-1。
输入样例:
1 -2 1
结尾无空行
4 6 1
结尾无空行
4 3 1
结尾无空行
输出样例:
在这里给出相应的输出。例如:
1.00 1.00
结尾无空行
-1.31 -0.19
结尾无空行
-1 -1
结尾无空行
#include<stdio.h>
#include<math.h>
int main()
{
int a,b,c;
double x,y,t;
scanf("%d %d %d",&a,&b,&c);
if(b*b-4*a*c>=0&&a!=0)
{
x=(-b+sqrt(b*b-4*a*c))/(2*a);
y=(-b-sqrt(b*b-4*a*c))/(2*a);
if(x>=y)
printf("%0.2lf %0.2lf",y,x);
if(x<y){
t=y;
y=x;
x=t;
printf("%0.2lf %0.2lf",y,x);}
}
if(b*b-4*a*c<0&&a!=0)
{
printf("-1 -1");}
return 0;
}