问题 问答题

下列给定程序中函数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为书写问题,写程序时切记书写格式。

问答题
多项选择题