C语言程序设计:用二分法求方程2x^3-4x^2+3x-6=0在(-10, 10)之间的根。 **输入格式要求:"%f,%f" 提示信息:"请输入x1,x2的值:" **输出格式要求:"方程的根=%6.2f\n" 程序的运行示例如下: 请输入x1,x2的值:-10,10 方程的根= 2.00
时间: 2024-03-22 15:40:09 浏览: 118
以下是使用二分法求解方程的C语言程序:
```c
#include <stdio.h>
#include <math.h>
double f(double x) {
return 2 * pow(x, 3) - 4 * pow(x, 2) + 3 * x - 6; // 定义方程
}
int main() {
double x1, x2, x_mid, y1, y2, y_mid, eps = 1e-6; // eps为精度
printf("请输入x1,x2的值:");
scanf("%lf,%lf", &x1, &x2);
y1 = f(x1);
y2 = f(x2);
if (y1 * y2 > 0) {
printf("在(%f,%f)之间无根\n", x1, x2);
return 0;
}
while (x2 - x1 > eps) {
x_mid = (x1 + x2) / 2;
y_mid = f(x_mid);
if (y_mid == 0) {
printf("方程的根=%6.2f\n", x_mid);
return 0;
} else if (y1 * y_mid < 0) {
x2 = x_mid;
y2 = y_mid;
} else {
x1 = x_mid;
y1 = y_mid;
}
}
printf("方程的根=%6.2f\n", (x1 + x2) / 2);
return 0;
}
```
运行结果:
```
请输入x1,x2的值:-10,10
方程的根= 2.00
```
阅读全文