Chinaunix首页 | 论坛 | 博客
  • 博客访问: 326009
  • 博文数量: 113
  • 博客积分: 446
  • 博客等级: 下士
  • 技术积分: 1229
  • 用 户 组: 普通用户
  • 注册时间: 2012-12-09 16:01
个人简介

Let's go!!!!!

文章分类

全部博文(113)

文章存档

2019年(5)

2018年(4)

2017年(9)

2016年(5)

2015年(39)

2014年(6)

2013年(28)

2012年(17)

分类: LINUX

2013-09-09 11:02:45

#include
#include
#include

#define max(a,b) (((a) > (b)) ? (a) : (b))
#define eps 1e-6

float mysqrt(float n)
{
  if(n<0)
  return n;
  float ans;
   float low,up;
   low=0,up=max(n,1);
   ans=(low+up)/2;
   while(ans*ans-n>eps || ans*ans-n<-eps)
   {
       if(ans*ans>n)
       {
       up=ans;
       }
      else
      {
       low=ans;
      }
     ans=(low+up)/2;
   }
   return ans;
}

int main()
{
   float a=9.0;
   printf("%f\n",mysqrt(a));
   return 0;
}
阅读(555) | 评论(0) | 转发(0) |
0

上一篇:字符驱动 示例二

下一篇:不可重入函数

给主人留下些什么吧!~~