求教帖-一个简单但是我不会的循环问题

u010806550 2017-03-07 08:21:39

请问哪里出错,看不出来,谢谢大家先!
...全文
130 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2017-03-09
  • 打赏
  • 举报
回复
关于自己是否适合编程的很简单的测试: 在报纸或杂志上随便找一段约1000字的文章,在Word中输入一遍。输完后再参考下面答案: A里面有10处以上文字或标点错误 B里面没有文字或标点错误并敢为此跟人打赌 C里面没有文字或标点错误并且字体和排版完全与原稿一致 D打印在半透明的纸上和原稿重叠在一起检查一模一样,且自我感觉很有成就感 A不适合编程(理由:打字准确度偏低、粗心大意) B初级程序员(理由:打字准确度很高、认真细致、自信、理解全角半角概念) C高级程序员(理由:在B的基础上理解字体和排版也是电脑打印的重要因素、但相比D还不够偏执、精益求精、结果可验证) D软件项目经理(理由:能针对项目给出令人信服的细致到极点的需求说明和典型测试用例。用户几乎挑不出毛病。专业!) 如果想从A变成B的话,到我的资源http://download.csdn.net/detail/zhao4zhong1/4084259里面下载“适合程序员的键盘练习”
u010806550 2017-03-09
  • 打赏
  • 举报
回复
oo,谢谢各位,看出来了。不仅没写对,题目也看错了.......
Pingo520 2017-03-09
  • 打赏
  • 举报
回复
题目要求的是用迭代法,你这用的是递归啊,老兄
  • 打赏
  • 举报
回复
你的代码里面 当n=1时候 直接就求出平方根了...那还算个什么呢? 所以 直接 n=1时候 y=a;n>1再按公式算; 然后 题目 里面 都说了 俩值差的绝对值<e ,而你直接让差值<e(我试了几次,应该你现在 这么算的第一个差值 直接是负数,然后x根本就没赋值....所以就出现你现在的这个情况了。 你再想想吧。
赵4老师 2017-03-08
  • 打赏
  • 举报
回复
“给定一个小点的输入,完整单步跟踪(同时按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史)一遍。”是理解递归函数工作原理的不二法门! 递归函数关注以下几个因素 ·退出条件 ·参数有哪些 ·返回值是什么 ·局部变量有哪些 ·全局变量有哪些 ·何时输出 ·会不会导致堆栈溢出
自信男孩 2017-03-08
  • 打赏
  • 举报
回复
#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;
}

循环求平方根。 以上的代码测试通过,作为一个参考吧~
qq_37501239 2017-03-07
  • 打赏
  • 举报
回复
你这是递归吧..

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧