求ax平方+bx+c的情况c语言
时间: 2024-01-14 15:02:16 浏览: 132
c代码-求ax平方+bx+c+=0
以下是一个简单的C程序,用于计算二次方程ax²+bx+c的根:
```c
#include <stdio.h>
#include <math.h>
int main()
{
float a, b, c, discriminant, root1, root2;
printf("Enter coefficients a, b and c: ");
scanf("%f %f %f", &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("Roots are real and different.\n");
printf("Root1 = %.2f and Root2 = %.2f\n", root1, root2);
}
else if (discriminant == 0)
{
root1 = root2 = -b / (2*a);
printf("Roots are real and same.\n");
printf("Root1 = Root2 = %.2f\n", root1);
}
else
{
float realPart = -b / (2*a);
float imaginaryPart = sqrt(-discriminant) / (2*a);
printf("Roots are complex and different.\n");
printf("Root1 = %.2f + %.2fi and Root2 = %.2f - %.2fi\n", realPart, imaginaryPart, realPart, imaginaryPart);
}
return 0;
}
```
在此程序中,我们首先从用户那里获取系数a、b和c。然后,我们计算判别式(b²-4ac),并根据它的值计算根。如果判别式为正,我们有两个实根;如果判别式为零,我们有两个相等的实根;如果判别式为负,则我们有两个不同的复数根。在每种情况下,我们都打印出根的值。
注意,我们使用了math.h库中的sqrt函数来计算平方根。我们还使用了float类型来存储系数和根,因为它们可能是小数。
阅读全文