用迭代算法求非负数num的平方根。

来源:互联网 发布:淘宝店铺重新实名认证 编辑:程序博客网 时间:2024/05/06 22:12
/*用迭代算法求非负数num的平方根。迭代公式为:temp_2 = (temp_1 + num / temp_1) / 2;(库函数sqrt()已经实现)*/#include <stdio.h>#include <math.h>int main() {float num = 0, temp_1 = 0, temp_2 = 0;printf("请输入一个正数:\n");scanf("%f", &num);if(num < 0) {printf("输入的num为负数!!!!\n");return 0;}else {temp_1 = num / 2;temp_2 = (temp_1 + num / temp_1) / 2;// 对于浮点数来说当两者之差小与1e-5时,表示两个数相等while(fabs(temp_1 - temp_2) > 1e-5){temp_1 = temp_2;temp_2 = (temp_1 + num / temp_1) / 2;}printf("sqrt(%f) = %f\n", num, temp_1);return 0;}}


0 0
原创粉丝点击