计算一个数的开平方后值

 

不知道是不是自己大学时代本科的数值分析学的有点忘记了,不太记得计算开平方的算法了。在Points ON C 上看到这个算法,倍感亲切。

/*
** Compute the square root of a number.
*/

#include <stdio.h>
#include <stdlib.h>

int
main()
{
 float new_guess;
 float last_guess;
 float number;

 /*
 ** Prompt for and read the data, then check it.
 */
 printf( "Enter a number: " );
 scanf( "%f", &number );
 if( number < 0 ){
  printf( "Cannot compute the square root of a "
      "negative number!/n" );
  return EXIT_FAILURE;
 }

 /*
 ** Compute approximations to the square root until they
 ** don't change any more.
 */
 new_guess = 1;
 do {
  last_guess = new_guess;
  new_guess = ( last_guess + number / last_guess ) / 2;
  printf( "%.15e/n", new_guess );
 } while( new_guess != last_guess );

 /*
 ** Print results.
 */
 printf( "Square root of %g is %g/n", number, new_guess );

 return EXIT_SUCCESS;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值