📄 newton.cpp
字号:
/*用牛顿迭代法计算f(x)=x^3-2*x^2-4*x-7在【3,4】中根的近似值,精确到小数点后3位*/
#include <stdio.h>
#include<math.h>
float f(float x)
{
float y;
y=x*x*x-2*x*x-4*x-7;
return(y);
}
float f0(float x)
{
float y1;
y1=3*x*x-4*x-4;
return(y1);
}
void main()
{
float x0,x;
int k=1;
int N=500;
int flag;
printf("Please input xo:\n");
scanf("%f",&x0);
do{
if(f0(x0)>=0.000001)
{
flag=1;
x=x0-f(x0)/f0(x0);
}
else if(f0(x0)<0.000001)
{
flag=0;
printf("break up");
}
loop: x=x0-f(x0)/f0(x0);
if(fabs(x-x0)>0.000001)
{
x0=x;k=k+1;
goto loop;
}
}while(k>=N);
printf("The root of the equation is: %10.3f\n",x);
printf(" all is %d times\n",k);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -