问题 问答题

下列给定程序中,函数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型。

选择题
单项选择题