调和级数求和( C语言)


#include<stdio.h>
void main()
{
    double n,b,m;
    double i=0;
    while(scanf("%lf",&n)!=EOF)
    {
        for(b=1;b<=n;b++)
        {
            m=1/b;
            i=i+m;
        }
        printf("%.2lf\n",i);
    } 
}

求1+1/2+1/3+……+1/n的和,我写的代码不知道哪有问题,就是第一遍输入是对的,再输入就不对了。
题目要求图1,结果图2.

img

img

供参考:

#include<stdio.h>
void main()
{
    double n,b,m;
    double i=0;
    while(scanf("%lf",&n)!=EOF)
    {
        i=0;m=0;     //i m 置位归零
        for(b=1;b<=n;b++)
        {
            m=1/b;
            i=i+m;
        }
        printf("%.2lf\n",i);
    }
}