Linux C一站式学习习题答案11.6.2求平方根
来源:互联网 发布:kwic软件体系结构 编辑:程序博客网 时间:2024/05/17 07:49
2、编写一个函数double mysqrt(double y);
求y
的正平方根,参数y
是正实数。我们用折半查找来找这个平方根,在从0到y
之间必定有一个取值是y
的平方根,如果我们查找的数x
比y
的平方根小,则x2<y,如果我们查找的数x
比y
的平方根大,则x2>y,我们可以据此缩小查找范围,当我们查找的数足够准确时(比如满足|x2-y|<0.001),就可以认为找到了y
的平方根。思考一下这个算法需要迭代多少次?迭代次数的多少由什么因素决定?
注:转载请注明源地址:http://blog.csdn.net/whorus1/article/list/2,谢谢!
#include<stdio.h>double mysqrt(double start, double end ,double y){double mid = (end + start)/2;if (mid*mid - y < -0.001 ) {mysqrt (mid, end, y);} else if (mid*mid - y > 0.001) {mysqrt (start, mid, y);} else {printf ("%f\n", mid);return mid;}}int main(){double y;printf ("please enter the num:");scanf ("%lf",&y);mysqrt(0, y, y);return 0;}
————————————————————————————————————————————————————————————————————————————
2014年3月14日:之前的版本想在main中打印总是出错,在if分支语句中都加return后解决,修改后的代码如下:
#include<stdio.h>double mysqrt(double start, double end ,double y){double mid = (end + start)/2;if (mid*mid - y < -0.001 ) {return mysqrt (mid, end, y);} else if (mid*mid - y > 0.001) {return mysqrt (start, mid, y);} else {return mid;}}int main(){double y;printf ("please enter the num:");scanf ("%lf",&y);printf ("The square root of %f is %f\n", y, mysqrt(0, y, y));return 0;}
0 0
- Linux C一站式学习习题答案11.6.2求平方根
- Linux C一站式学习习题答案6.4求素数
- Linux C一站式学习习题答案11.6.3 求n次方
- Linux C一站式学习习题答案说明
- Linux C一站式学习习题答案2.5
- Linux C一站式学习习题答案4.1
- Linux C一站式学习习题答案19.4
- Linux C一站式学习习题答案11.6.1binarysearch
- Linux C一站式学习习题答案4.2.2
- Linux C一站式学习习题答案5.1.2 四舍五入
- Linux C一站式学习习题答案5.3.2Fibonacci数列
- Linux C一站式学习习题答案6.1.2统计个数
- Linux C一站式学习习题答案6.5.2打印菱形
- Linux C一站式学习习题答案7.2.2分数加减乘除
- Linux C一站式学习习题答案11.5.2
- Linux C一站式学习习题答案5.1.1
- Linux C一站式学习习题答案5.3.1最大公约数
- Linux C一站式学习习题答案6.1.1.1
- linux deepin 2013 使用svn提示**gnome keyring **
- java.lang.NoClassDefFoundError问题的解决办法
- 随着帝企鹅这一系列的组合拳,腾讯将在移动时代以微信为杀伤性核武器
- 如何将App程序发布到苹果App Store
- ThinkPHP 项目分组URL生成与URL访问
- Linux C一站式学习习题答案11.6.2求平方根
- Struts2与freemarker自定义标签
- 局部变量和全局变量的作用域
- jQuery 遍历 JSON 对象
- Android HTTPS验证和添加http头信息token认证
- 最简单的应用程序makefile
- 查看PKG是否在内存并统计PKG里SQL执行次数
- 程序命名的一些提示(转)
- 留言簿 head.htm 设置 && 英文分页