一元二次方程的C语言实现
一元二次方程是最基本的代数方程之一,其一般形式为ax² + bx + c = 0,在C语言中,我们可以使用公式法(也称为韦达定理)来求解一元二次方程,公式法的基本思想是通过将原方程转化为两个一次方程来求解。
以下是一个简单的C语言程序,用于求解一元二次方程:
#include <stdio.h> #include <math.h> int main() { double a, b, c, discriminant, root1, root2, realPart, imaginaryPart; printf("Enter coefficients a, b and c: "); scanf("%lf %lf %lf",&a, &b, &c); discriminant = b*b-4*a*c; // condition for real and different roots if (discriminant > 0) { root1 = (-b+sqrt(discriminant))/(2*a); root2 = (-b-sqrt(discriminant))/(2*a); printf("root1 = %.2lf and root2 = %.2lf",root1 , root2); } // condition for real and equal roots else if (discriminant == 0) { root1 = root2 = -b/(2*a); printf("root1 = root2 = %.2lf;", root1); } // if roots are not real else { realPart = -b/(2*a); imaginaryPart = sqrt(-discriminant)/(2*a); printf("root1 = %.2lf+%.2lfi and root2 = %.2lf-%.2lfi", realPart, imaginaryPart, realPart, imaginaryPart); } return 0; }
在这个程序中,我们首先输入一元二次方程的系数a、b和c,我们计算判别式(b²-4ac),判别式的值决定了方程的根的性质,如果判别式大于0,那么方程有两个不同的实根;如果判别式等于0,那么方程有两个相同的实根;如果判别式小于0,那么方程有两个复数根,我们根据判别式的值来计算并输出方程的根。
还没有评论,来说两句吧...