厚德载物peng.blog.chinaunix.net
chengxiaopeng
hello world.
全部博文(308)
汇编语言(0)
离散数学(1)
C语言趣味程序百(11)
C++程序设计(30)
串(1)
队列(2)
栈(2)
链式存储结构(1)
线性表(1)
Shell编程(4)
其它(13)
Linux环境下C编程(3)
网络编程(1)
贪心算法(1)
分治法(1)
穷举法(1)
算法练习(1)
妙趣横生的算法(57)
xiongwen
jys715
li117666
lijunlin
km康蒙92
zhaounix
59459763
yaogh
youlan87
分类: C/C++
2010-07-30 13:28:17
用迭代法求。求平方根的迭代公式为:
Xn+1 = (Xn +a/Xn)
要求前后两次求出的x的差的绝对值小于10-5 。
看到这个题目,我们可以将式子带入求出Xn+1 ,然后和Xn做差的绝对值与10的-5次方做比较,如果小于则跳出循环。代码如下:
#include <stdio.h>#include <math.h>int main(int argc, int *argv[]) {float x=1,x0;int n;printf("please intput a number:");scanf("%d",&n);while ( n < 0 ){ scanf("%d",&n);}do{ x0 = (x + n/x)/2; if (abs(x0 - x) < pow(10,-5)) { break; } else { x = x0; }} while (1);printf("The square root of %d is %f\n",n,x0);system("pause");return 0;}
上一篇:C程序习题-计算猴子第一天共摘多少个桃子[6.10]
下一篇:C程序习题-用牛顿迭代法求方程的根[6.12]
登录 注册