题目描述
有一分数序列: 2/1 3/2 5/3 8/5 13/8 21/13...... 求出这个数列的前N项之和,保留两位小数。
输入
N
输出
数列前N项和
样例输入
10
样例输出
16.48
解析
- 首先找这一序列的规律,仔细观察,你会发现第一个分数与第二个分数有一些联系,第一项的分母等于第二项的分子,并且第一项的分母与分子的和等于第二项的分母;其他也是有这样的规律。
 - 注意:结果是浮点数要保留两位小数,浮点数限制小数主要是通过iomanip库的fixed函数和setprecision函数。
 
注意:两个数相除要得到浮点数,需要两个浮点数来计算得到;
参考代码
#include<iostream>
#include<iomanip>
using namespace std ;
int main()
{
    int a,b,n,m;
    a=2;
    b=1;
    float s,c;
    s=0; 
    cin>>n;
    for(int i=0;i<n;i++)
    {
        c=float(a)/float(b);//使a,b有整数变成浮点数,也可以一开始就用float定义,但是赋值是要加上小数部份。
        m=b;
        b=a;
        a=m+b;
        s=s+c;
    }
    cout<<fixed<<setprecision(2)<<s<<endl;
    return 0 ;
}
运行结果

- 若有问题,请评论出来!