问题描述:
求方程式ax2+bx+c=0有两个不等实根的c语言程序
最佳答案:
#include
#include
#include
void main()
{
double a, b, c;
double val;
double root1, root2;
printf("输入参数(空格分隔): ");
scanf("%lf %lf %lf", &a, &b, &c);
val = b*b-4*a*c;
if(val < 0)
{
printf("无解");
return;
}
if(val == 0) // 由于精度问题,一般小于一个值就认为是零, 写成abs(val) < eps
{
root1 = -b /(2*a);
printf("相同解 %f", root1);
}
else
{
val = sqrt(val);
root1 = (-b + val)/(2*a);
root2 = (-b - val)/(2*a);
printf("解 %f , %f", root1, root2);
}
}