十九


私信TA

用户名:dotcpp0637769

访问量:244

签 名:

他说我什么态度!

等  级
排  名 2815
经  验 2143
参赛次数 0
文章发表 6
年  龄 0
在职情况 学生
学  校 南七技校
专  业

  自我简介:

解题思路:设定迭代初值为1,只要满足收敛的数都可。利用数组存储第一个元素为初值,再写出迭代公式,满足精度则跳出循环。

注意事项:C语言的绝对值函数是fabs,一直记得是matlab的abs,导致一直没检查到错误。

参考代码:

#include<stdio.h>
#include<math.h>
int main()
{
    float a,x[100];
    int i;
    scanf("%f",&a);
    x[0]=1.0;//迭代初值为1

    for(i=1;;i++){    //不知道迭代多少次,先不写判断表达式
        x[i]=(x[i-1]+a/x[i-1])/2;
       if(fabs(x[i]-x[i-1])<1e-5){
            printf("%.3f",x[i]);
                break;}   //一旦满足误差,跳出循环     
    }
    return 0;
}


 

0.0分

0 人评分

  评论区

  • «
  • »