百布 2021-09-22 23:48 采纳率: 95.8%
浏览 226
已结题

调和级数求和( 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

  • 写回答

1条回答 默认 最新

  • qzjhjxj 2021-09-22 23:52
    关注

    供参考:

    #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);
        }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月1日
  • 已采纳回答 9月23日
  • 修改了问题 9月22日
  • 创建了问题 9月22日