从键盘输入一元二次方程的三个系数,编程求一元二次方程的根的c语言代码
时间: 2023-10-11 17:08:16 浏览: 144
shangji_1.rar_一元二次方程
可以使用以下代码:
```c
#include <stdio.h>
#include <math.h>
int main() {
float a, b, c, root1, root2, discriminant, realPart, imaginaryPart;
// 从键盘输入三个系数
printf("请输入一元二次方程的三个系数 a, b, 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("方程有两个不相等的实根:root1 = %.2f, root2 = %.2f", root1, root2);
} else if (discriminant == 0) {
root1 = root2 = -b / (2*a);
printf("方程有两个相等的实根:root1 = root2 = %.2f", root1);
} else {
realPart = -b / (2*a);
imaginaryPart = sqrt(-discriminant) / (2*a);
printf("方程有两个共轭复根:root1 = %.2f + %.2fi, root2 = %.2f - %.2fi", realPart, imaginaryPart, realPart, imaginaryPart);
}
return 0;
}
```
解释一下:
首先从键盘输入三个系数,然后计算一元二次方程的判别式。根据判别式的值,判断方程的根的种类并计算。如果判别式大于0,则方程有两个不相等的实根;如果判别式等于0,则方程有两个相等的实根;如果判别式小于0,则方程有两个共轭复根。最后输出结果。
阅读全文