/*用二分法求下面方程在(-10,10)之间的根:
2*x的3次方-4*x的2次方+3*x-6=0*/
#include <stdio.h>
#include <math.h>
//将x代入原方程求得数
double fun(double x)
{
double f;
f = (2 * pow(x,3) - 4 * pow(x,2) + 3 * x - 6);
return f;
}
int main()
{
double a = -10.0,b = 10.0,x;
x = (a + b) / 2;
//这里是二分法的方法
while(fun(x) != 0)
{
if(fun(a)*fun(x) < 0)
{
b = x;
}
if(fun(b)*fun(x) < 0)
{
a = x;
}
x = (a + b) / 2;
}
printf("根为:%lf",x);
}
谭浩强C程序设计(第四版)p141第15
程序很简单,我一开始查阅材料查错了,导致我排bug排了好久,中间还打了三把王者荣耀,真把我坑哭了