C语言:牛顿迭代法解方程

#include
#include
double newton_method(int a,int b,int c,int d);
double newton_method(int a,int b,int c,int d)
{
	double x1,fx,x0,f;
	x1 = 1.5;
	while(fabs(x1 - x0) >= 1e-5)
	{
		x0 = x1;
		fx = a*x0*x0*x0 + b*x0*x0 + c*x0 + d;
		f = 3*a*x0*x0 + 2*b*x0 + c;
		x1 = x0 - fx/f;
	}
	return(x1);
}

int main()
{
	int a,b,c,d;
	double x;
	printf("Enter a,b,c,d:");
	scanf("%d,%d,%d,%d",&a,&b,&c,&d);	
	
	x = newton_method(a,b,c,d);
	printf("x = %.2lf\n",x);
	
	return 0;
}

运行结果:

Enter a,b,c,d:2,-4,3,-6
x = 2.00

你可能感兴趣的:(C语言,c语言,开发语言,后端)