爱问知识人 爱问教育 医院库

C语言问题解答^

首页

C语言问题解答^

11-1 下面的程序是用递归算法求整数a的平方根x。求平方根的迭代公式如下:
                 xn+1 = 0.5*(xn + a/xn)
试问①和②处应该填什么?

#include <stdio.h>
#include <math.h>
double mysqrt(double a, double xn)
{
double x1, y;
    xn1 =  ①  ;
    if (fabs(xn1-xn) > 0.00001)
        y = mysqrt(  ②  );
    else
        y = xn;
    return y;
}
void main()
{
double x;
    printf("Enter x: ");
    scanf("%lf", &x);
    printf("The square root of %lf = %lf\n", x, mysqrt(x, 1.0));
}



11-2 编写一个递归函数sum(int n), 求1~n的累加和。并用全局变量和定义在sum函数内的静态局部变量两种方法,打印sum被调用的次数。若在sum函数里用局部变量来统计sum调用次数,会产生怎样的结果。

提交回答
好评回答
  • 2006-06-15 21:12:27
      1)xn1=0。5*(xn+a/xn)
    (2)y=mysqrt(a ,xn )
    11-2
    1、定义在sum函数内的静态局部变量
    sun(int n)
    {int i=0,s;
    s=0;
      if(n=1) return(s+=1);
      else 
      if (n==2) printf("一共调用了%d次",i+1);  
    else {i++;return(sun(n-1))};
    ;}
    2、全局变量
    int s;
    sun(int n)
    {int i=0;
      if(n=1) return(s+=1);
      else 
      if (n==2) printf("一共调用了%d次",i+1);  
    else {i++;return(sun(n-1))};
    ;}
    后果我到没有想过,因为我认为上面所写的一定不会出错,当然本程序还没有写完,我想大家都是学C语言的,不必写完,大家都能看懂是不是呀。
       。

    阿***

    2006-06-15 21:12:27

其他答案

    2006-06-05 15:15:01
  • (1)xn1=0.5*(xn+a/xn)
    (2)y=mysqrt(a ,xn )
    我的邮箱是tiandong@ 
    请与我联系啊。

    t***

    2006-06-05 15:15:01

类似问题

换一换
  • 软件 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):