C语言 已知一元二次方程aa2+bx+c=0的系数a,b,c的值,设b2-4ac≥0且a=0,编写程序利用求根公式求该方程的两个根。(结果保留2位小数)
时间: 2024-09-26 18:09:59 浏览: 129
在C语言中,如果已知一元二次方程 ax² + bx + c = 0 的系数 a、b 和 c,并且满足判别式 b² - 4ac ≥ 0(由于题目提到 a=0),我们可以使用求根公式 x = [-b ± sqrt(b² - 4ac)] / (2 * a),因为在这种情况下,a 确实为零,所以公式简化为 x = [-b ± sqrt(b²)]。
下面是一个简单的C程序示例,用于计算并打印出方程的两个根:
```c
#include <stdio.h>
#include <math.h> // 引入数学库,以便使用sqrt函数
// 定义求解一元二次方程的函数
void quadratic_solver(double b, double c) {
double discriminant = b * b; // 因为a=0,所以判别式只需b^2
double root1 = -b + sqrt(discriminant); // 根据公式计算第一个根
double root2 = -b - sqrt(discriminant); // 计算第二个根
// 保留两位小数并打印结果
printf("Root 1: %.2f\n", root1);
printf("Root 2: %.2f\n", root2);
}
int main() {
double a = 0, b, c;
// 输入b和c的值
printf("Enter coefficient b: ");
scanf("%lf", &b);
printf("Enter constant c: ");
scanf("%lf", &c);
// 调用函数解决方程
quadratic_solver(b, c);
return 0;
}
```
用户需要在运行这个程序时输入 b 和 c 的值。请注意,由于这里假设 a = 0,所以不需要单独询问 a。在输入 b 和 c 后,程序会计算并显示方程的两个根,保留至小数点后两位。
阅读全文