问题
问答题
下列给定程序中函数fun的功能是:求出如下分数序列的前n项之和,和值通过函数值返回。
例如,若n=5,则应输出8.391667。
请改正程序中的错误,使其得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
/**********found**********/
fun(int n)
int a=2,b=1,c,k;
return(s);
void main()
double s=0.0;
for(k=1;k<=n;k++)
/*********found*********/
s=s+(double)a/b;
c=a;a=a+b;b=c;
int n=5;
system("CLS");
printf("\nThe value of function is:%f\n",fun(n));
答案
参考答案:
(1)错误:fun(int n)
正确:double fun(int n)
(2)错误:s=s+(Double)a/b;
正确:s=s+(double)a/b;
解析:
本题考查函数的定义规则。函数定义的一般形式为类型标识符函数名(形式参数表列){函数体}。fun函数中,最后返回的是变量s,由变量s的定义可知,返回值是double型,所以fun函数定义时应明确注明标识符double类型。double为书写问题,写程序时切记书写格式。