本题要求编写程序,计算序列 1 + 1/2 + 1/3 + ... 的前N项之和。

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

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

输入样例:

6

输出样例:

sum = 2.450000 

代码:  

#include<stdio.h>
int main()
{
    int N,i;
    double sum=0.0;    //定义sum变量获取和
    int den=1;             //分母的值
    scanf("%d",&N);   //获得前N项
    for(i=1;i<=N;i++)
    {
        sum=sum+1.0/den;    //第一次循环进来sum=0.0+1.0,注意是1.0,否则得不到精度值
        den=den+1;      //分母一次循环加1
    }
    printf("sum = %lf",sum);   //打印
    return 0;
}