千梦


私信TA

用户名:dxy0325

访问量:1353

签 名:

兴趣是最好的老师

等  级
排  名 8894
经  验 1131
参赛次数 0
文章发表 18
年  龄 18
在职情况 学生
学  校 BSU
专  业 数据科学与大数据技术

  自我简介:

题目:

用迭代法求 平方根

公式:求a的平方根的迭代公式为: X[n+1]=(X[n]+a/X[n])/2 

要求前后两次求出的差的绝对值少于0.00001。 输出保留3位小数


解题思路:

输入x,求出x的平方根x1

本题有两个条件①前后两次求出的差绝对值,x-x1绝对值fabs 小数表示为1E-5②保留三位小数

循环体中的内容是此公式



注意事项:
头文件要加

还有此时根据逻辑更加适合使用do while循环

(并不是都要用for)

参考代码:

#include<stdio.h>
#include<math.h>
int main()
{
    int a;
    double x,x1=1.0;
    scanf("%d",&a);
    do {
        x=x1;
        x1=(x+a/x)/2;
    }
    while(fabs(x1-x)>1E-5);//注意这里while语句之后要加分号
    printf("%.3lf",x1);
    return 0;
}


 

0.0分

1 人评分

  评论区