用c语言,从键盘输入一元二次方程的三个系数,求解该一元二次方程并输出结果。
时间: 2024-09-11 07:15:30 浏览: 52
在C语言中,一元二次方程通常表示为 ax^2 + bx + c = 0,其中a、b、c是系数,且a不等于0。求解一元二次方程一般会用到求根公式(也称为二次公式),即:
x = (-b ± sqrt(b^2 - 4ac)) / (2a)
这里需要用到数学库中的sqrt函数来计算平方根。下面是一个简单的C语言程序,用于从键盘输入一元二次方程的系数,然后计算并输出方程的根:
```c
#include <stdio.h>
#include <math.h>
int main() {
double a, b, c, discriminant, root1, root2, realPart, imagPart;
// 从键盘输入一元二次方程的系数a, b和c
printf("请输入一元二次方程的系数a, b和c: ");
scanf("%lf %lf %lf", &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("方程有两个不相等的实根: x1 = %.2f 和 x2 = %.2f\n", root1, root2);
} else if (discriminant == 0) {
// 两个相等的实根
root1 = root2 = -b / (2 * a);
printf("方程有两个相等的实根: x1 = x2 = %.2f\n", root1);
} else {
// 两个复数根
realPart = -b / (2 * a);
imagPart = sqrt(-discriminant) / (2 * a);
printf("方程有两个复数根: x1 = %.2f+%.2fi 和 x2 = %.2f-%.2fi\n", realPart, imagPart, realPart, imagPart);
}
return 0;
}
```
在这个程序中,我们首先从用户那里获取一元二次方程的系数a、b和c。接着计算判别式(b^2 - 4ac),并根据判别式的值来确定方程的根是两个不相等的实根、两个相等的实根,还是两个复数根。
阅读全文