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

用代码实现C函数功能——sqrt

2011-03-14 19:23 309 查看
最近开始自学C++,而自己的C学的也不怎么样,于是突发奇想,何不自己用代码实现C函数功能,一来可以锻炼自己写代码的能力,二来可以加深对各种函数的理解,三来可以总结经验,以后可以复习。

今天主要实现的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中传递用户输入的数字后,利用逼近的方法,判断两个数是否相等,这样就解决了开方问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: