用c语言表达序列:2/1,3/2,5/3,8/5,13/8,21/13...递归这个数列的前20项之和。
时间: 2023-12-13 07:17:49 浏览: 49
#include <stdio.h>
double fibonacci(int n);
int main()
{
double sum = 0;
int i;
for(i=1; i<=20; i++)
{
sum += fibonacci(i);
}
printf("前20项之和为:%.6lf\n", sum);
return 0;
}
double fibonacci(int n)
{
if(n == 1)
return 2.0/1;
else if(n == 2)
return 3.0/2;
else
return fibonacci(n-1) + fibonacci(n-2);
}
相关问题
用c语言表达本题要求编写程序,计算序列 1 + 1/3 + 1/5 + ... 的前N项之和。 输入格式: 输入在一行中给出一个正整数N。 输出格式: 在一行中按照“sum=S”的格式输出部分和的值S,精确到小数点后6位(提示:使用.format( )函数输出)。
好的,我的程序如下:
```c
#include <stdio.h>
int main()
{
int n;
double sum = 0.0;
scanf("%d", &n);
for (int i = 1; i <= n; i++)
{
sum += 1.0 / (2 * i - 1);
}
printf("sum=%.6f", sum);
return 0;
}
```
程序思路:
1. 定义一个整型变量n和一个双精度浮点型变量sum(保证精度)。
2. 通过scanf函数输入n的值。
3. 使用for循环计算序列的部分和,i从1到n,每次加上1/(2i-1)。
4. 使用printf函数输出sum的值,格式化字符串为"sum=%.6f",保留六位小数。
注意:这里的序列是从1开始的,而不是从0开始的。
c语言用for写出1-1/2-1/3
在 C 语言中,你可以使用 for 循环和分数运算(尽管 C 本身并不直接支持分数,可以近似表示)来计算序列 1 - 1/2 - 1/3。下面是一个简单的示例,我们将使用浮点数来近似表达:
```c
#include <stdio.h>
int main() {
float numerator = 1.0;
float denominator = 1;
float current_value = 1.0;
float fraction;
for (int i = 2; i <= 3; i++) {
fraction = 1 / (float)i; // 计算下一个分数部分
current_value -= fraction; // 更新当前值
printf("1 - 1/%d = %f\n", i, current_value); // 打印结果
}
return 0;
}
```
这个程序会输出:
1 - 1/2 = 0.500000
1 - 1/3 = 0.666667
阅读全文