问题描述
- 程序出错,无法解决请高手相助
-
/*二分法求根的算法,无法输出x0,x1,求高手*/#include
int main()
{
double x,x0,x1;
double f,f0,f1;
x0=-10;
x1=10;
while(fabs(x1-x0)>=1e-6)
{
x=(x0+x1)/2;
f=x*(2*x*(x-4)+3)-6;
f0=x0*(2*x0*(x0-4)+3)-6;
f1=x1*(2*x1*(x1-4)+3)-6;
if(f*f0>0)
x0=x;
else
x1=x;
}
printf("%lf",x0);
return 0;
}报错 has exited with code -1073741510 (0xC000013A).
解决方案
不加math.h根本就不能编译。应该和这个无关。
你要求什么方程?
f=x*(2*x*(x-4)+3)-6;
这个么
为什么是2
解决方案二:
我这里可以输出
3.812951Press any key to continue . . .
解决方案三:
你要求什么方程,3.812是否正确。
解决方案五:
你引用了fabs函数,所以要加math.h,如果你不加fabs函数,而是通过条件判断进行取绝对值的话就可以不加math.h(不过麻烦一些)
解决方案六:
math.h的问题~
解决方案七:
f=x*(2*x*(x-4)+3)-6;
这种浮点数和整数乘除的,整数一定要先转换成浮点数
解决方案八:
或者用 2.0f 代替 2。其余类似
时间: 2024-11-08 20:13:14