第八周OJ2

问题及代码

/* 
烟台大学计算机与控制工程学院 
文件名称:分数序列 
作    者:展一 
完成时间:2016年10月20日 
题目描述 
        有一个分数序列:2/1, 3/2, 5/3, 8/5, 13/8, …编写程序求出这个序列的前n项之和。  
输入 
       输入只有一个正整数n,1≤n≤10
输出 
      1输出该序列前n项和,结果保留小数后6位。 
样例输入 
     3
样例输出 
     5.166667
*/  

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n,i;
    double j1=1,j2=0,j,k1=1,k2=1,k,sum=0;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
       {
        j=j1+j2;
        k=k1+k2;
        sum=sum+k/j;
        j2=j1;
        j1=j;
        k2=k1;
        k1=k;
       }
    printf("%.6lf\n",sum);
    return 0;
}


 

运行结果

知识点总结

循环结构的使用

因为double型比float型精度更准,所以建议使用double型

学习心得

本题对分子分母分别分析,不管分子还是分母,都是前两项和等于第三项。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值