从键盘任意输入a,b,c的值,编程计算并输出一元二次方程ax2 + bx + c = 0的根(较小的先输出)。根据一元二次方程的求根公式,令
p = −b2a, q = b2−4ac√2a
假设a,b,c的值能保证方程有两个不相等的实根(即b2 - 4ac > 0)
#include<stdio.h>
#include<math.h>
int main()
{
float a, b,c;
double p, q, m, n, x1, x2;
printf("Please enter the coefficients a,b,c:");
scanf("%f,%f,%f", &a, &b, &c);
m= b/a;
n= sqrt(b * b - 4.0 * a * c) / a;
p = -1.0 / 2.0 * m;
q = 1.0 / 2.0 * n;
x1 = p + q;
x2 = p - q;
if (x1 < x2)
{
printf("x1=%7.4f,x2=%7.4f", x1, x2);
}
else
{
printf("x1=%7.4f,x2=%7.4f", x2, x1);
}
return 0;
}