所属年份:2012.3;
已知一个数列从0项开始的前3项:0、0、1,以后的各项都是其相邻的前3项之和。下列给定的程序中,函数fun的功能是:计算并输出该数列前n项的平方根之和sum。n的值通过形参传入。
例如,当n=10时,程序的输出结果应为23.197745。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include <stdlib.h> #include <conio.h> #include <stdio.h> #include <math.h> /*************found**************/ fun(int n) { double sum, s0, s1, s2, s; int k; sum=1.0; if (n<=2) sum=0.0; s0=0.0; s1=0.0; s2=1.0; for (k=4; k<=n; k++) { s=s0+s1+s2; sum+=sqrt(s); s0=s1; s1=s2; s2=s; } /*************found**************/ return sum } void main() { int n; system("CLS"); printf("Input N="); scanf("%d",&n); printf("%f\n",fun(n)); }
【参考答案】
(1)double fun(int n) (2)return sum ;
【解题思路】
(1)根据函数的返回值可知函数fun应定义为double类型。
(2)语法错误,缺分号。