1 20 编写程序,用普通迭代法求方程f(x)=x+lgx-3.18=0的近似实根r,迭代初值为2.5,要求结果保留4位

1 20 编写程序,用普通迭代法求方程f(x)=x+lgx-3.18=0的近似实根r,迭代初值为2.5,要求结果保留4位小数.
icymoon6 1年前 已收到1个回答 举报

李萍88 春芽

共回答了13个问题采纳率:92.3% 举报

我的c语言运行结果是2.7419,不同版本可能会有差异,但不影响正确性
#include
#include
void main()
{
float x0,x1;
x0=2.5;
x1=x0-(x0+log10(x0)-3.18)/(1+1/(x0*log(10)));
do
{
x0=x1;
x1=x0-(x0+log10(x0)-3.18)/(1+1/(x0*log(10)));
}
while(fabs(x0-x1)>1e-4);
printf("x=%10.4fn",x1);
}
这个题还可以用牛顿切线法求,把float型化为double型就行了,换成x=x-f(x)/f′(x)这个公式

1年前

6
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.028 s. - webmaster@yulucn.com