用代码实现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中传递用户输入的数字后,利用逼近的方法,判断两个数是否相等,这样就解决了开方问题。
今天主要实现的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中传递用户输入的数字后,利用逼近的方法,判断两个数是否相等,这样就解决了开方问题。
相关文章推荐
- 用代码实现C函数功能——sqrt
- 用代码实现C函数功能——十进制转换为二进制
- 【笔记】实现库函数sqrt的功能(C代码)
- 带有HA功能的Hadoop Client端RPC实现原理与代码分析
- Jquery 最近浏览过的商品的功能实现代码
- C#实现打印与打印预览功能的思路及代码
- Qt实现保存、浏览、预览、打印功能的示例代码
- java实现Excel导入功能代码
- java web开发之购物车功能实现示例代码
- smarty-smarty模板中类似for循环功能的实现代码
- Android应用自动更新功能的代码实现
- ThinkPHP+jquery实现“加载更多”功能代码
- CSS 超出隐藏实现限制字数的功能代码(多浏览器)
- jquery.cookie.js 操作cookie实现记住密码功能的实现代码
- USTCOJ代码查看功能的实现(我的第一个Chrome插件,UstcOjSourceView)
- android上smack客户端功能实现代码
- Arcgis for javascript API代码实现TimeSlider功能
- android截屏功能实现代码
- query AjaxUpload实现多文件上传功能代码实例教程