早教吧 育儿知识 作业答案 考试题库 百科 知识分享

MicrosoftVisualC++6.0集成开发环境的一道简单结构化程序设计题,但是我不会...已知平方根迭代公式xn+1=(xn+a/xn)/2,设x=a/2.编写程序输入a值计算其平方根.迭代的结束条件是x(n+1)-xn

题目详情
Microsoft Visual C++ 6.0集成开发环境的一道简单结构化程序设计题 ,但是我不会...
已知平方根迭代公式xn+1=(xn+a/xn)/2,设x=a/2.编写程序输入a值计算其平方根.迭代的结束条件是x(n+1)-xn
▼优质解答
答案和解析
double x1, x2;
double Fn( double a)
{
if ( (x2-x1 > 0 ? x2-x1: x1-x2) < 0.00001 )
return x2;
x1 = x2;
x2 = (x1+a/x1)/2;
return Fn(a);
}
void main()
{
double a;
x1 = 0;
x2 = 1;
scanf("%lf",&a);
printf("%lf\n", Fn(a));
}
/*修改后,非递归程序*/
void main()
{
double a;
double x1 = 0;
double x2 = 1;
scanf("%lf",&a);
while ( 1 )
{
if ( (x2-x1 > 0 ? x2-x1: x1-x2) < 0.00001 )
break;
x1 = x2;
x2 = (x1+a/x1)/2;
}
printf("%lf\n", x2);
}