利用数学公式求解一个正整数的平方根

当大家需要在C语言编程中实现求解一个数的平方根的时候,大家最容易想到的方法是加载<math.h>头文件,利用这个函数库中的sqrt()函数来得出结果。

那么有没有可能不调用库函数就能计算平方根呢?
其实我们可以运用一些数学知识,我们可以将数学的运算哦,我们可以通过编程计算,省去复杂的计算过程。

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

/*
**在不调用<math.h>库函数的情况下,利用数学公式计算一个正整数的平方根
*/

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

	/*
	**由用户输入正整数,并检查合法性
	*/

	printf( "Please enter a number: " );
	scanf( "%f", &number);
	if( number < 0)
	{
		printf("Can't compute the square root of a negative number!\n");
		return EXIT_FAILURE;
	}

	/*
	**计算平方根,以下循环必须执行至少一遍
	*/

	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 );

	/*
	**打印最终结果
	*/

	printf("\r\nSquare root of %g is %g\n", number, new_guess);
	return EXIT_SUCCES
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值