问题描述
编写一个函数,该函数用迭代法求平方根。求平方根的迭代公式为:
其中a 是需要求平方根的数。
Input
输入实数a。
Output
输出a的平方根。答案精确到10-6.
Samples
input:
7
output:
2.645751
#include<stdio.h>
#include<math.h>
double happy(double a);
double a;
double y = 1.0, x;
int main() {
while (scanf("%lf", &a) != EOF) {
printf("%.6lf ", func(a));
}
return 0;
}f
double func(double a) {
if (a == 0) return 0;
else {
do
{
x = y;
y = (x + a / x) / 2;
}
while (fabs(y-x)>1e-6);
return y;
}
}```