| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 520 人关注过本帖
标题:各位高手,帮小弟解一题
只看楼主 加入收藏
门外汉2008
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2008-7-15
收藏
 问题点数:0 回复次数:2 
各位高手,帮小弟解一题
题目:10?.编写函数fun,它的功能是:利用以下的简单迭代方法求方程cos(x)-x=0的一个实根。
   迭代步骤如下:(1)取x1初值为0.0; (2)x0=x1,把x1的值赋各x0;
   (3)x1=cos(x0),求出一个新的x1;
(4)若x0-x1的绝对值小于0.000001,则执行步骤(5),否则执行步骤(2);
   (5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。
   程序将输出Root=0.739085。
我的做法:#include<stdio.h>
#include<math.h>
double fun(double x)
{double s=fabs(x-cos(x));
if(s<0.000001)  return x;
else x=fun(x);
}
void main()
{double root;
root=fun(0);
printf("%f\n",root);}
不知为何用以上算法算不出,请各位高手帮忙!小弟先谢谢大家了~
搜索更多相关主题的帖子: 解一 
2008-07-15 08:55
woshiyun
Rank: 1
等 级:新手上路
威 望:2
帖 子:348
专家分:0
注 册:2008-6-16
收藏
得分:0 
double fun(double x)
{
    double x0=1.0, x1=0.0;
    while(fabs(x0-x1)>0.000001)
    {   
        x0=x1;
        x1=cos(x0);
    }
    return x1;
}
2008-07-15 11:11
门外汉2008
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2008-7-15
收藏
得分:0 
回复 2# woshiyun 的帖子
感谢大侠
2008-07-15 11:44
快速回复:各位高手,帮小弟解一题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018112 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved