求一元二次方程的根c语言
一元二次方程是一种常见的数学问题,它的一般形式为ax^2 + bx + c = 0,其中a、b、c是已知的常数,x是未知数。求解一元二次方程的根是一种基本的数学问题,也是计算机编程中常见的问题之一。在C语言中,我们可以使用公式法或求根公式法来求解一元二次方程的根。
公式法
公式法是一种基本的求解一元二次方程根的方法,它的基本思路是根据一元二次方程的一般形式,将方程的系数代入公式中,求解出方程的根。具体步骤如下:
1.计算判别式D = b^2 - 4ac
2.如果D > 0,则方程有两个不相等的实数根,计算根公式x1 = (-b + sqrt(D)) / 2a和x2 = (-b - sqrt(D)) / 2a
3.如果D = 0,则方程有一个实数根,计算根公式x = -b / 2a
4.如果D < 0,则方程没有实数根,但有两个共轭复数根,计算根公式x1 = (-b + isqrt(-D)) / 2a和x2 = (-b - isqrt(-D)) / 2a,其中i是虚数单位下面是使用公式法求解一元二次方程的根的C语言代码:
#include <stdio.h>
#include <math.h>
int main()
{
float a, b, c, D, x1, x2, real, imag;
printf("Enter coefficients a, b and c: ");
scanf("%f%f%f", &a, &b, &c);
D = b * b - 4 * a * c;
if (D > 0)
{
x1 = (-b + sqrt(D)) / (2 * a);
x2 = (-b - sqrt(D)) / (2 * a);
printf("Roots are real and different: %.2f and %.2f", x1, x2);
}
else if (D == 0)
{
x1 = -b / (2 * a);
printf("Roots are real and same: %.2f and %.2f", x1, x1);
}
else
{
real = -b / (2 * a);
imag = sqrt(-D) / (2 * a);
printf("Roots are complex and different: %.2f + i%.2f and %.2f - i%.2f", real, imag, real, imag);
}
return 0;
}