更新时间2018-03-06 21:28:38
#include <stdio.h>
#include<math.h>
int main()
{
float x;
float a,b;
scanf("%f",&x);
b = 1.0;
while(fabs(b-a) > 0.00001)
{
a=b; 这一步有什么用?
b = (a+x/a)/2;
}
printf("%0.3f ",b);
return 0;
}
首先回溯a与b这两个变量的声明:
此时a与b只声明了类型和变量名,
并未初始化;
之后进行了b的初始化:
然后进入循环、
条件是以a与b代入fabs()这个函数作为参数的,
在这个fabs()函数中可能会有a与b的值变化,
于是在每一次循环起始先将a变量同步于b变量的值:
然后再将相应的值运算结果存入b变量;
……
观察以上过程后可以分析得知:
两个变量共同构成了一个
运算结果-->临时存值-->继续运算-->运算结果……
这样一个迭代运算的过程。
……
有更多疑问欢迎追问,
或者另开相关问题时邀请回答。