当前位置: 首页> 游戏> 游戏 > 每日一题——第七十二题

每日一题——第七十二题

时间:2025/7/14 18:26:31来源:https://blog.csdn.net/weixin_45778846/article/details/141787330 浏览次数:0次

用迭代法求a的算术平方根。公式为:Xn = 0.5 * (Xn - 1 + a / Xn - 1 )。确定初始值为x0,取a / 2 为x0的初始值,迭代结束条件为|x1 - x0| <= 10^(-5)。

#include <stdio.h>  
#include <math.h> // 用于fabs函数计算绝对值  double sqrt_iterative(double a) {if (a < 0) {printf("负数没有平方根\n");return -1.0; // 或者可以选择其他方式处理错误情况  }double x0 = a / 2.0; // 初始值  double x1 = 0.0;// 当新旧值之差的绝对值大于10^-5时继续迭代  while (fabs(x1 - x0) > 1e-5) {x1 = 0.5 * (x0 + a / x0); // 使用迭代公式  x0 = x1; // 更新x0为x1的值,为下一次迭代做准备  }return x1; // 返回最终迭代结果  
}int main() {double a;printf("请输入一个非负数: \n");scanf_s("%lf", &a);double result = sqrt_iterative(a);if (result != -1.0) {printf("%.2f 的算术平方根大约为: %.5f\n", a, result);}return 0;
}
关键字:每日一题——第七十二题

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: