已知一元二次方程x方加bx+c=0的系数abc的值设b方等于设b方减4 ac大于等于0且a不等于0编写程序,利用求根公式求该方程的两个根结果保留两位小数
时间: 2024-11-15 19:30:03 浏览: 2
要编写一个C语言程序,使用一元二次方程的求根公式来计算给定方程 \(ax^2 + bx + c = 0\) 的两个根,你需要考虑以下步骤:
1. 定义变量 `a`, `b`, 和 `c` 存储系数。
2. 检查判别式 \(D = b^2 - 4ac\) 是否大于或等于0。
3. 如果 \(D \geq 0\),使用求根公式:\[ x_1 = \frac{-b + \sqrt{D}}{2a} \]
和 \( x_2 = \frac{-b - \sqrt{D}}{2a} \) 计算两个根。
4. 将结果四舍五入到两位小数。
下面是C代码示例:
```c
#include <stdio.h>
#include <math.h>
void calculate_roots(double a, double b, double c) {
double discriminant, root1, root2;
// 判别式检查
discriminant = b * b - 4 * a * c;
// 当判别式非负时计算根
if (discriminant >= 0) {
root1 = (- sqrt(discriminant)) / (2 * a);
// 保留两位小数并输出结果
printf("Root 1: %.2f\n", round(root1 * 100) / 100.0);
printf("Root 2: %.2f\n", round(root2 * 100) / 100.0);
} else {
printf("The equation has no real roots.\n");
}
}
int main() {
double a, b, c;
printf("Enter coefficients 'a', 'b', and 'c': ");
scanf("%lf %lf %lf", &a, &b, &c); // 输入系数
calculate_roots(a, b, c);
return 0;
}
```
阅读全文