当前位置:实例文章 » 其他实例» [文章]C语言实现解一元二次方程

C语言实现解一元二次方程

发布人:shili8 发布时间:2025-01-12 23:10 阅读次数:0

**一元二次方程的求解**

一元二次方程是指形式为 ax^2 + bx + c =0 的二次方程,其中 a、b 和 c 是常数,x 是变量。这种类型的方程在数学和工程中经常出现。

**C语言实现**

下面是 C语言的一个例子,用于求解一元二次方程:

c#include <stdio.h>
#include <math.h>

// 函数声明void solveQuadratic(double a, double b, double c);

int main() {
 // 定义变量 double a =1.0; // 系数a double b = -3.0; // 系数b double c =2.0; // 常数项 printf("一元二次方程:%fx^2 + %fx + %f =0
", a, b, c);

 solveQuadratic(a, b, c);

 return0;
}

// 求解一元二次方程void solveQuadratic(double a, double b, double c) {
 // 计算判别式 double D = b * b -4.0 * a * c;

 if (D >0) { // 有两个实根 printf("该方程有两个实根。
");
 double x1 = (-b + sqrt(D)) / (2.0 * a);
 double x2 = (-b - sqrt(D)) / (2.0 * a);

 printf("第一个实根:x1 = %.2f
", x1);
 printf("第二个实根:x2 = %.2f
", x2);
 } else if (D ==0) { // 有一个重复的实根 printf("该方程有一个重复的实根。
");
 double x = -b / (2.0 * a);

 printf("唯一实根:x = %.2f
", x);
 } else { // 无实根 printf("该方程无实根。
");
 }
}


**注释**

* `solveQuadratic` 函数用于求解一元二次方程。它首先计算判别式 D = b^2 -4ac。如果 D >0,则表示有两个实根;如果 D ==0,则表示有一个重复的实根;否则,表示无实根。
* `main` 函数中,我们定义了变量 a、b 和 c,然后调用 `solveQuadratic` 函数来求解一元二次方程。

**示例**

假设我们要求解以下一元二次方程:

x^2 +3x +2 =0我们可以将其写成 C语言中的一元二次方程形式,如下所示:

c#include <stdio.h>
#include <math.h>

void solveQuadratic(double a, double b, double c);

int main() {
 double a =1.0;
 double b =3.0;
 double c =2.0;

 printf("一元二次方程:%fx^2 + %fx + %f =0
", a, b, c);

 solveQuadratic(a, b, c);

 return0;
}

void solveQuadratic(double a, double b, double c) {
 // ...

}


在这种情况下,判别式 D = b^2 -4ac =3^2 -4 *1 *2 =9 -8 =1 >0,因此该方程有两个实根。我们可以使用 `solveQuadratic` 函数来求解这些实根:

cvoid solveQuadratic(double a, double b, double c) {
 // ...

 if (D >0) { // 有两个实根 printf("第一个实根:x1 = %.2f
", (-b + sqrt(D)) / (2.0 * a));
 printf("第二个实根:x2 = %.2f
", (-b - sqrt(D)) / (2.0 * a));

 // ...
}


最终结果将是:

一元二次方程:1x^2 +3x +2 =0该方程有两个实根。
第一个实根:x1 = -0.50第二个实根:x2 = -2.00

相关标签:
其他信息

其他资源

Top