题目:通过函数求级数a=2/1+ 3/2+5/3+8/5+13/8+21/13.的 前n项之和,n通过函数参数传递。在主函数中输入n,调用 函数输出结果。 如输入4,结果为:6.77 程序开头为#include <stdio.h> #include <stdlib.h> void PutRes(void); float fun(int);float fun(int n);
时间: 2024-03-14 09:43:33 浏览: 79
好的,我已经明白了你的要求。以下是你所需的代码:
```c
#include <stdio.h>
#include <stdlib.h>
float fun(int n)
{
float sum = 0, a = 2, b = 1, c;
int i;
for(i = 1; i <= n; i++)
{
sum += a / b;
c = a + b;
b = a;
a = c;
}
return sum;
}
void PutRes(void)
{
int n;
float result;
printf("请输入n的值:");
scanf("%d", &n);
result = fun(n);
printf("前%d项之和为:%.2f\n", n, result);
}
int main()
{
PutRes();
return 0;
}
```
在这个程序中,我们先定义了一个 `fun` 函数来计算级数的前 n 项之和。在 `fun` 函数中,我们用 `sum` 来存储前 n 项之和的值,用 `a` 来存储每一项的分子,用 `b` 来存储每一项的分母。在 `for` 循环中,我们先将当前项的值加入 `sum` 中,然后计算下一项的分子和分母,并更新 `a` 和 `b` 的值。
在主函数中,我们调用 `PutRes` 函数来获取用户输入的 n 值,并计算前 n 项之和。计算完成后,我们输出结果并结束程序。
希望这个程序能够满足你的需求。如果还有其他问题,欢迎随时向我提出。
阅读全文