浙大版《C语言程序设计(第3版)》习题4-3

习题4-3 求分数序列前N项和 (15分)

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

输入格式:
输入在一行中给出一个正整数N。

输出格式:
在一行中输出部分和的值,精确到小数点后两位。题目保证计算结果不超过双精度范围。

输入样例:

20

输出样例:

32.66

代码:

#include"stdio.h"

int main()
{
    double n = 2, m = 1, N, sum = 2;
    int i;
    scanf("%lf", &N);
    for(i = 1;i<N;i++)
    {
        n = n+m;       //分子是前一项分子和分母的和
        m = n-m;       //分母是前一项的分子,但是分子已经变成前一项分子分母的和了,所以要减去前一项的分母
        sum += n/m;
    }
    printf("%0.2lf", sum);
    return 0;
}

你可能感兴趣的:(C语言,做题,程序设计,算法,c语言)