| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付买域名,送MP3、MP4
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY买空间,免费送域名(厦门中资源)
共有 610 人关注过本帖
标题:[求助]这是用迭代公式求平方根的程序,但有些不明白~!
收藏  订阅  推荐  打印 
h5n1234
Rank: 1
等级:新手上路
帖子:6
积分:160
注册:2006-9-16
[求助]这是用迭代公式求平方根的程序,但有些不明白~!

#include <iostream.h>
#include <math.h>

void main()
{
double x, a;
cout <<"please input a value:\n";
cin >>a;
x = a/2;
while(fabs((x-a/x)/2)>1e-7) //迭代公式为: 。并要求前后两次求出x的差的绝对值小于
x=(x+a/x)/2;

cout <<a <<"的平方根是" <<x <<endl;
}


在这个程序中x=a/2不知道是什么意思~!!!
还有在while内的表达式中为什么是“>”,不是说小于吗?应该是“<”啊~!
但我换成小于号程序却不正确~!!!
请各位指点一下我~!!!

搜索更多相关主题的帖子: 平方根  公式  quot  IMG  
2006-9-18 19:47
h5n1234
Rank: 1
等级:新手上路
帖子:6
积分:160
注册:2006-9-16

为什么打不出公式的???
while下面的是公式~!!
绝对值小于10的-7次方~!!

2006-9-18 19:48
yvtianzll
Rank: 1
等级:新手上路
帖子:30
积分:400
注册:2006-9-13

x = a/2; 是取初值,你也可以让x=a,初值取的不一样,迭代的步数不一样而已

while(fabs((x-a/x)/2)>1e-7);迭代条件,是当误差大于1e-7时继续迭代,直至误差小于1e-7
2006-9-18 20:19
h5n1234
Rank: 1
等级:新手上路
帖子:6
积分:160
注册:2006-9-16

不胜感激

2006-9-19 12:02
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.051121 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved