求一元二次方程的根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;

}

温馨提示:答案为网友推荐,仅供参考
相似回答