我不知道哪里错了一直输出零:C语言经典问题分子1分母1-100

原问题:我不知道哪里错了一直输出零:C语言经典问题分子1分母1-100
分类:编程开发 > 最后更新时间:【2017-07-31 14:04:14】
问题补充:

我的源码:

#include <stdio.h>

int main(void)

{

int n;

double i=1/n,sum=0;

for(n=1;n<=100;++n)

sum = sum + i;

printf("sum=%lf\n",sum);

return 0;

}

问题是1+1/2+1/3+1/4+......+1/100

程序没报错,但是一直输出0.000000。

我是菜鸟,请问哪里错了?

最佳答案

你的程序中,

i=1/n;没有意义,你的n没有初值,它是随机的(不出除0错已是你的运气了)

你的i完全是多余的,改好的

int n;
double sum = 0;
for(n = 1; n <= 100; ++n)
sum = sum + 1.0/n;
printf("sum=%lf\n", sum);


  • 追问:
    你真的是大神啊
    最佳答案由网友  whoami1978  提供
  • 公告: 为响应国家净网行动,部分内容已经删除,感谢网友理解。
    12

    分享到:

    其他回答

    暂无其它回答!

      推荐