函数原型为: double fun(int n); 根据下面的说明,编写该函数。
(1)函数功能:计算 2/1, 3/2, 5/3, 8/5, 13/8, 21/13,...前n项之和。
(2)入口参数:函数形参n>=1是要求计算的项数。
(3)出口值: 函数返回值是累加计算求得的s值。
(4)注意:函数类型(函数返回值)是double类型
你可以参考一下,希望采纳
#include<stdio.h>
double fun(int n)
{
double x = 2, y = 1, s = 0, t;
int i;
for (i = 1; i <= n; i++) {
s += x / y;
t = x;
x = y + x;
y = t;
}
return s;
}
int main()
{
int n;
printf("请输入求和通项:");
scanf("%d", &n);
printf("2/1,3/2,5/3,8/5,13/8,21/13……前%d项和为:%f \n", n, fun(n));
return 0;
}
运行结果:
供参考:
double fun(int n)
{
int i,k,t;
double s=0;
for (i = 1, k = 2, t = 1; i <= n; i++)
{
s += k * 1.0/t;
k = k + t;
t = k -t;
}
return s;
}