下列给定程序中,函数fun的功能是:求出如下分数序列的前n项之和,并将该值通过函数值返回。
请改正程序中的错误,使其得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
/********** found********** /
fun (int n)
int a=2, b=1, c, k;
double s=0.0;
for(k=1; k<=n; k++)
/********** found********** /
s=s+(Double) a/b;
c=a; a=a+b; b=c;
return (s);
void main ()
int n=5;
system ("CLS");
printf ("\nThe value of function
is:% if\n", fun(n));
参考答案:
double fun(int n)
(2) s=s+(double)a/b;
答案考生文件夹
解析:
本题考查:函数定义,函数定义的一般形式为:"类型标识符 函数名(形式参数表列)",其中类型标识符指明了本函数的类型,函数的类型实际上是函数返回值的类型。
[解题思路] (1) 由语句"return(s)"和变量s定义为double数据类型可知,该函数定义时其类型标识符为double类型。
(2)注意数据类型double的书写格式。
[解题宝典] 确定函数类型标识符在填空和改错题中经常考到,如果函数没有返回值,则函数定义为void型;如果函数有返回值,则函数类型应与返回值类型一致;如果不定义函数类型标识符,则系统默认为int型。