
2个回答
展开全部
楼上的类型不太好,改用实型的,不然会出错(实数根无法输出)。
还有cout是C++的吧,楼主要的是C
附上我的:
#include<stdio.h>
#include<math.h>
double calc(double x)
{
return ((2*x-4)*x+3)*x-6;
}
double root(double f,double t)
{
double mid=(f+t)/2.0,s=calc(mid);
while (fabs(s)>1e-6)
{
if (s>0) t=mid;
else f=mid;
mid=(f+t)/2.0;
s=calc(mid);
}
return mid;
}
int main()
{
printf("%lf\n",root(-10.0,10.0));
return 0;
}
运行结果:2.000000
还有cout是C++的吧,楼主要的是C
附上我的:
#include<stdio.h>
#include<math.h>
double calc(double x)
{
return ((2*x-4)*x+3)*x-6;
}
double root(double f,double t)
{
double mid=(f+t)/2.0,s=calc(mid);
while (fabs(s)>1e-6)
{
if (s>0) t=mid;
else f=mid;
mid=(f+t)/2.0;
s=calc(mid);
}
return mid;
}
int main()
{
printf("%lf\n",root(-10.0,10.0));
return 0;
}
运行结果:2.000000
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询