一元二次方程的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,那么方程有两个复数根,我们根据判别式的值来计算并输出方程的根。



还没有评论,来说两句吧...