运用C语言解决求ax2+bx+c=0的根,a,b,c由键盘输入。
时间: 2024-05-05 10:18:56 浏览: 125
已知二元一次方程ax²+bx+c=0(a≠0),编程实现求解方程的根。(分三种情况考虑)
您可以使用以下代码来解决ax2 bx c=0的根,其中a,b,c是由键盘输入的:
```c
#include <stdio.h>
#include <math.h>
int main()
{
float a, b, c, determinant, root1, root2, realPart, imaginaryPart;
printf("请输入a,b,c的值:");
scanf("%f %f %f", &a, &b, &c);
determinant = b*b - 4*a*c;
// 实数根
if (determinant > 0)
{
root1 = (-b + sqrt(determinant)) / (2*a);
root2 = (-b - sqrt(determinant)) / (2*a);
printf("实数根为:%.2f 和 %.2f\n", root1, root2);
}
// 复数根
else if (determinant < 0)
{
realPart = -b/(2*a);
imaginaryPart = sqrt(-determinant)/(2*a);
printf("复数根为:%.2f+%.2fi 和 %.2f-%.2fi\n", realPart, imaginaryPart, realPart, imaginaryPart);
}
// 重根
else
{
root1 = root2 = -b/(2*a);
printf("实数根为:%.2f 和 %.2f\n", root1, root2);
}
return 0;
}
```
注意,此代码不能处理二次方程没有实根的情况。
阅读全文