cheng_you_know

学而时习之!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

转:http://blog.csdn.net/shawnjsp/article/details/6249093

今天主要实现的sqrt,即开方功能。一开始也没有什么头绪,在csdn的论坛上看到解决办法,思路简单,但是方法很奇妙。自己稍微添加其他部分,sqrt功能就实现了。

#include<Stdio.h>
#include<Conio.h>
int main(void)
{
  double _sqrt(double );                /*使用函数原型,即不带参数名,可以减少错误*/
  double n,s;
  printf("Input number:");
  scanf("%lf",&n);                      /*double 输出要用lf*/
  s=_sqrt(n);
  printf("The result is:%3.2lf",s);     /*double 格式化输出3.2lf*/
  getch();
  return 0;
}
double _sqrt(double a)
{
  double x,y;
  x=0.0;
  y=a/2;
  while(x!=y)
  {
    x=y;
    y=(x+a/x)/2;
  }
  return x;
}
这段代码主要是double _sqrt(double a)的函数体,从主函数main中传递用户输入的数字后,利用逼近的方法,判断两个数是否相等,这样就解决了开方问题。

posted on 2013-10-11 00:36  cheng_you_know  阅读(364)  评论(0编辑  收藏  举报