C语言:分数序列求和

水深无声 2024-03-22 16:52 167阅读 0赞

题目:有一个分数序列:2/1 + 3/2 + 5/3 + 8/5 +…,求出这个数列的前 20 项之和。

背景:无。

思路:采用 for 循环,利用数学知识

分子:第 n 项 = 第 n - 1 项 + 第 n - 2 项。

分母:第 n 项 = 第 n - 1 项 + 第 n - 2 项。

代码:

  1. #include<stdio.h>
  2. int main()
  3. {
  4. double x = 2; //初始化分子
  5. double y = 1; //初始化分母
  6. double sum = 0; //求和
  7. double a = 1, b = 1;
  8. int i = 0;
  9. for (i = 0; i < 20; i++)
  10. {
  11. sum =sum + x / y;
  12. x = x + y;
  13. y = a + b;
  14. a = b;
  15. b = y;
  16. }
  17. printf("%lf\n", sum);
  18. return 0;
  19. }

细节:注意打印是 %lf 输出 6 位小数。

e523d6613c70421eb04d14cede07302d.gif

发表评论

表情:
评论列表 (有 0 条评论,167人围观)

还没有评论,来说两句吧...

相关阅读

    相关 c语言分数序列前N项和

    本题要求编写程序,计算序列 2/1+3/2+5/3+8/5+… 的前 N 项之和。注意该序列从第 2 项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。 输入格

    相关 分数求和

    分数求和 【问题描述】分数包含分子分母两项,定义一个有关分数的结构体类型,写一个函数来计算两分数之和,结果仍然为分数类型,注意约分。再编写main函数来输入两分数,调用函

    相关 分数判断 C语言

    题目:从键盘输入一个整数的百分制成绩,用变量score存储,如果score不在0-100范围内,则输出“Eror Input!",并结束程序。     否则,将输入的数据转换