c语言:用迭代法求x=a^0.5,迭代公式为x1 = (x0 + a / x0) / 2;前后两次求出的x的差的绝对值小于10^-5

来源:互联网 发布:知乎的人生赢家标准 编辑:程序博客网 时间:2024/05/22 01:30

用迭代法求x=a^0.5,迭代公式为x1 = (x0 + a / x0) / 2;要求前后两次求出的x的差的绝对值小于10^-5。

程序:

#include<stdio.h>

#include<math.h>

int main()

{

float a,x0,x1;

printf("请给a赋一个初值:");

scanf("%f", &a);

x0 = a / 2;//不妨令x的初值为x0=a/2,也可以是其他值

x1 = (x0 + a / x0) / 2;

do

{

x0 = x1;

x1 = (x0 + a / x0) / 2;

} while (fabs(x0 - x1) >= 1e-5);

printf("The square root of %5.2f is %8.5f\n", a, x1);//square root表示平方根

return 0;

}

结果:

请给a赋一个初值:2

The square root of  2.00 is  1.41421

请按任意键继续. . .


本文出自 “岩枭” 博客,请务必保留此出处http://yaoyaolx.blog.51cto.com/10732111/1742875

0 0