69,382
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <math.h>
#define MIN_DIFF (1e-5)
#define FZERO (1e-6)
int main(void)
{
float a, prev, cur;
int i;
printf("Please input a number: ");
scanf("%f", &a);
if (fabsf(a) <= FZERO) {
printf("%f sqrt is %.5f\n", a, 0.0);
return 0;
}
prev = 1.0;
cur = (prev + a / prev) / 2;
for (i = 0; fabsf(cur - prev) >= MIN_DIFF; i++) {
prev = cur;
cur = (prev + a / prev) / 2;
}
printf("%.2f sqrt is %.5f\n", a, cur);
return 0;
}
循环求平方根。
以上的代码测试通过,作为一个参考吧~