C语言案例 分数列求和-11

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

程序分析

这是一个典型的分数列数学逻辑题,考究这类题目是需要从已知的条件中找到它们的分布规律
我们把前6荐的分子与分母分别排列出来,仔细观察其规律
分子:2,3,5,8,13,21
分母:1,2,3,5,8,13
无论是从分子观察还是从分母观察,后一个分数的分母为前一个数的分子,后一个数的分子为前一个数的分子加上分母。

步骤一:定义程序目标

编写C程序,求得2 / 1,3 / 2,5 / 3,8 / 5,13 / 8,21 / 13 …求出这个数列的前20项之和。

步骤二:程序设计

整个程序分为两个模块,第一个模块是使用for循环遍历20项目,第二个模块是分数的累加,定义一个sum变量,分子变量a,分母变量b,每次循环变量都为sum+=a/b,tmp=a,a+=b,b=tmp,然后在循环外输出结果。

编写代码

#include<stdio.h>
int main(){
    
    
    float sum=0,a=2,b=1,tmp;
    for(int i=0;i<20;i++){
    
      //进行20次循环
        sum+=a/b;   //每次循环都累加分数
        //进行分子分母变换
        tmp=a;
        a=b+a;
        b=tmp;
    }
    printf("总数为%.3f\n",sum);   //输入累加后的总结果
    return 0;
}

效果:
在这里插入图片描述

总结

这道数学题目是不是比之前的那些还要难,明白它叠加的逻辑很容易,但是将程序设计转换为代码实现比较考究个人的逻辑能力哈!一定要多刷题,熟能生巧,世上数学天赋很好的人比例是很低的。关于更多程序案例项目,请点击链接进行查看佐德将军C语言案例.好了,我们在下一个章节再见,加油!

猜你喜欢

转载自blog.csdn.net/weixin_37171673/article/details/132231242