寻找二次方程的根的C程序

寻找二次方程的根的C程序

In this tutorial, we will be discussing a program to find the roots of the Quadratic equation.

Given a quadratic equation of the form ax2 + bx + c. Our task is to find the roots x1 and x2 of the given equation.

For this, we are using the deterministic method, in this

D = √b2 - 4ac

then the roots of the equation will be

x1 = (-b + D)/2a ,and

x2 = (-b - D)/2a

Example

#include
#include
#include
//calculating the roots of equation
void calc_roots(int a, int b, int c) {
if (a == 0) {
printf("Invalid Equation");
return;
}
int d = b*b - 4*a*c;
double sqrt_val = sqrt(abs(d));
if (d > 0) {
printf("Roots are both real and different

");
printf("%f

%f",(double)(-b + sqrt_val)/(2*a) , (double)(-b - sqrt_val)/(2*a));
}
else if (d == 0) {
printf("Roots are real and same

");
printf("%f",-(double)b / (2*a));
} else {
printf("Roots are complex

");
printf("%f + i%f

%f - i%f", -(double)b /(2*a),sqrt_val ,-(double)b / (2*a), sqrt_val);
}
}
int main() {
int a = 2, b = -5, c = 8;
calc_roots(a, b, c);
return 0;
}

登录后复制

输出

Roots are complex
1.250000 + i6.244998
1.250000 - i6.244998

登录后复制

以上就是寻找二次方程的根的C程序的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!