c语言如何求一元二次方程根

avatar
作者
猴君
阅读量:0

在C语言中,可以使用求根公式来求解一元二次方程的根。一元二次方程的一般形式为ax^2 + bx + c = 0,其求根公式为x = (-b ± √(b^2 - 4ac)) / (2a)。

以下是一个C语言程序,用于求解一元二次方程的根:

#include <stdio.h> #include <math.h>  int main() {     double a, b, c, discriminant, root1, root2;      // 输入方程系数     printf("请输入一元二次方程的系数a, b, c: ");     scanf("%lf %lf %lf", &a, &b, &c);      // 计算判别式     discriminant = b * b - 4 * a * c;      // 判断判别式的大小,以确定方程的根的情况     if (discriminant > 0) {         // 两个不相等的实根         root1 = (-b + sqrt(discriminant)) / (2 * a);         root2 = (-b - sqrt(discriminant)) / (2 * a);         printf("方程有两个不相等的实根: root1 = %.2lf, root2 = %.2lf\n", root1, root2);     } else if (discriminant == 0) {         // 两个相等的实根(一个重根)         root1 = root2 = -b / (2 * a);         printf("方程有两个相等的实根(一个重根): root1 = root2 = %.2lf\n", root1);     } else {         // 两个共轭复根         double realPart = -b / (2 * a);         double imaginaryPart = sqrt(-discriminant) / (2 * a);         printf("方程有两个共轭复根: root1 = %.2lf + %.2lfi, root2 = %.2lf - %.2lfi\n", realPart, imaginaryPart, realPart, imaginaryPart);     }      return 0; } 

在这个程序中,首先输入一元二次方程的系数a、b和c。然后计算判别式discriminant,并根据其值判断方程的根的情况。如果判别式大于0,则方程有两个不相等的实根;如果判别式等于0,则方程有两个相等的实根(一个重根);如果判别式小于0,则方程有两个共轭复根。最后,根据判别式的值计算并输出方程的根。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!