下列给定程序中,函数fun的功能是:根据整型形参n,计算如下公式的值。 A1=1,A2=,…,An= 例如,若n=10,则应输出0.617977。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不要改动main函数,不

admin2017-02-24  34

问题 下列给定程序中,函数fun的功能是:根据整型形参n,计算如下公式的值。
A1=1,A2=,…,An=
例如,若n=10,则应输出0.617977。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
1  #include<stdlib.h>
2  #include<conio.h>
3  #include<stdio.h>
4  /*********found*********/
5  int fun(int n)
6  {float A=1;int i;
7  /*********found*********/
8    for(i=2;i<n;i++)
9      A=1.0/(1+A);
10   return A;
11  }
12  void main()
13  { int n;
14    system("CLS");
15    printf("\nplease enter n:");
16    scanf("%d",&n);
17    printf("A%d=%lf\n",n,fun(n));
18   }

选项

答案(1)float fun(int n) (2)for(i=2;i<=n;i++)

解析 (1)根据函数的返回值可知,函数应定义为float型。
(2)该题中函数fun的作用是计算数列前n项的和,而数列的组成方式是:第n项的分母是1加第n一1项的值,分子为1,如果循环累加按for(i=2;i<n;i++)执行,当输入n=2时循环不会执行,程序将得不到想要的结果,因此循环变量的取值范围应包括2,循环的条件为i<=n。
转载请注明原文地址:https://kaotiyun.com/show/MMDp777K
0

最新回复(0)