下列给定程序中,函数fun()的功能是:根据整型形参n,计算如下公式的值。   A1=1,A2=1/(5+A1),A3=1/(5+A2),…,An=1/(5+A(n-1)) 例如,若n=l0,则应输出0.192582。 请改正程序中的错

admin2010-05-05  32

问题 下列给定程序中,函数fun()的功能是:根据整型形参n,计算如下公式的值。
    A1=1,A2=1/(5+A1),A3=1/(5+A2),…,An=1/(5+A(n-1))
    例如,若n=l0,则应输出0.192582。
    请改正程序中的错误,使它能得到正确结果。
    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
   试题程序:
   #include  <conio.h>
   #include  <stdio.h>
   float fun(int n)
   {
   /***********found*************/
      int A=1;
      int i;
   /*************found*************/
      for(i=1;i<=n;i++)
        A=1.0/(5+A);
      return A;
    }
   main()
   {
     int n;
     clrscr();
     printf("\nPlease enter n:");
     scanf("%d",&n);
     printf("A%d=%lf\n”,n,fun(n));
   }

选项

答案(1)错误:int A=1; 正确:float A=1 (2) 错误:for(i=l;i<=n;i++) 正确:for(i=2;i<=n;i++)

解析 错误1:A为实型数,应定义为float类型。错误2:由题意,AI=1,从A2开始,An=l/(5+A(n-1)),所以循环应从 2开始。
转载请注明原文地址:https://kaotiyun.com/show/IXID777K
0

最新回复(0)