求c语言二分法求一元三次方程的根语句的注释

2022-08-06 科技 87阅读
#include
#include
void main()
{
float x0,x1,x2,fx0,fx1,fx2;
do
{
printf("enter x1 & x2:");
scanf("%f,%f",&x1,&x2); //输入在哪个区间寻找方程的根
fx1=x1*((2*x1-4)*x1+3)-6; //计算在两个端点,函数的值
fx2=x2*((2*x2-4)*x2+3)-6;
}while(fx1*fx2>0); //必须要函数在两个端点,函数的值异号,才能保证区间内有根
do
{
x0=(x1+x2)/2; //x0为区间的中点
fx0=x0*((2*x0-4)*x0+3)-6; //中点的函数值
if((fx0*fx1)<0) //将中点修改为函数值与中点函数值同号的端点
{
x2=x0;
fx2=fx0;
}
else
{
x1=x0;
fx2=fx0;
}
}while(fabs(fx0)>=1e-5); //直到中点的函数值与0足够接近
printf("x=%6.2f\n",x0);
}
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com