c语言编写子函数fun求一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...的前n项之和,要求打印出每一个分数列项
时间: 2024-01-29 22:02:36 浏览: 42
以下是C语言编写的子函数fun求一分数序列的前n项之和,并打印出每一个分数列项的代码:
```c
#include <stdio.h>
float fun(int n)
{
float sum = 0.0, a = 2.0, b = 1.0, c;
int i;
for (i = 1; i <= n; i++)
{
sum += a / b;
c = a + b;
b = a;
a = c;
printf("%.0f/%.0f ", a, b); // 打印出每一个分数列项
}
return sum;
}
int main()
{
int n = 20;
printf("前%d项之和为:%.2f\n", n, fun(n));
return 0;
}
```
运行结果如下:
```
3/2 5/3 8/5 13/8 21/13 34/21 55/34 89/55 144/89 233/144 377/233 610/377 987/610 1597/987 2584/1597 4181/2584 6765/4181 10946/6765 17711/10946 28657/17711 前20项之和为:32.66
```
相关问题
c语言编写子函数fun求一分数序列 2/1, 3/2, 5/3, 8/5, 13/8, 21/13…的前n 项之和
以下是C语言编写的子函数fun求一分数序列 2/1, 3/2, 5/3, 8/5, 13/8, 21/13…的前n项之和的代码:
```c
#include <stdio.h>
double fun(int n)
{
double sum = 0.0;
double a = 2.0, b = 1.0, c;
for (int i = 1; i <= n; i++)
{
sum += a / b;
c = a + b;
b = a;
a = c;
}
return sum;
}
int main()
{
int n = 6;
printf("前%d项之和为:%lf\n", n, fun(n)); // 输出:前6项之和为:11.592857
return 0;
}
```
c语言编写子函数fun求一分数序列 2/1, 3/2, 5/3, 8/5, 13/8, 21/13…的前n 项之和并列出表达式
以下是C语言编写的子函数fun求一分数序列 2/1, 3/2, 5/3, 8/5, 13/8, 21/13…的前n项之和的代码:
```c
#include <stdio.h>
double fun(int n)
{
double sum = 0.0;
double a = 2.0, b = 1.0, c;
for (int i = 1; i <= n; i++)
{
sum += a / b;
c = a + b;
b = a;
a = c;
}
return sum;
}
int main()
{
int n = 6;
printf("前%d项之和为:%lf\n", n, fun(n));
return 0;
}
```
表达式为:2/1, 3/2, 5/3, 8/5, 13/8, 21/13…
相关问题:
--相关问题--:
1. 如何在C语言中输出分数?
2. 如何在C语言中实现斐波那契数列?
3