您的位置:首页 > 编程语言 > C语言/C++

c语言牛顿迭代法求平方根的过程如下:

2008-01-07 18:31 531 查看
牛顿迭代法开方的过程如下:
(1)设置初始值为1
(2)如果|猜测值*猜测值-X|<E ,转到(4)
(3)设置新猜测值为(x/猜测值+猜测值)/2,返回(2)
(4)猜测值就是满足要求的x的平方根

#include <stdio.h>

float sqrt(float);
float fabs(float);
void main()
{
float FloatNum;

clrscr();
printf("Please enter a float number:");
scanf("%f",&FloatNum);
printf("Square_root of (fabs(%f)) = %f/n",FloatNum,sqrt(FloatNum));
}
/*牛顿迭代法求实数x的平方根*/
float sqrt(float x)
{
float EpsilonNum,GuessNum;
EpsilonNum = 1E-5;
GuessNum = 1.0;
while( fabs(GuessNum*GuessNum - fabs(x)) >= EpsilonNum )
{
GuessNum = (fabs(x)/GuessNum + GuessNum) / 2.0;
}
return(GuessNum);
}

/*求x的绝对值*/
float fabs(float x)
{
if( x < 0 )
{
x = -x;
}
return(x);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: