modi14.c

来自「c题库」· C语言 代码 · 共 38 行

C
38
字号
/*
下列给定程序中,函数fun和funx的功能是:用二人法求议程2x*x*x-4x*x+3x-6=0的一个根,并要求绝对误差不超过0.001。例如,若给m输入-100,给n输入90,则函数求得的一个根值为2.000。
请改正程序是的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
*/
#include <stdio.h>
#include <math.h>
double funx(double x)
{
	return(2*x*x*x-4*x*x+3*x-6);}
	double fun(double m,double n)
	{
/**********found************/
		int r;
		r=(m+n)/2;
/**********found************/
		while(fabs(n-m)<0.001)
		{
			if(funx(r)*funx(n)<0) m=r;
			else  n=r;
			r=(m+n)/2;
	}
	return r;
}

main()
{
	double m,n,root;
	printf("Enter m n :\n");scanf("%1f%1f",&m,&n);
	root=fun(m,n);
	printf("root=%6.3f\n",root);
}

/*
答案:
  int r;改为 double r;
 while(fabs(n-m)<0.001)改为   while(fabs(n-m)>0.001)
*/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?