问答详情
源自:2-1 Linux C语言 初始指针

求大神,这个怎么错了?

#include<stdio.h>

/*求使得1+1/2+1/3+...........+1/n>15的最小n值*/

int main()

{

int n;

float sum = 0;

for (n=1; sum<15; n++)

{

sum+=1/n;

}

printf ("n=%d", n);

return 0;

}

设置个循环条件,sum<15,一旦不满足条件了就输出n值,不知道哪里错了。


提问者:qq_愿时光安好_04050009 2017-01-10 23:38

个回答

  • android4j
    2017-01-11 15:12:12
    已采纳

    1/n 结果是int类型,所以除了当n=1时,1/1=1,其他情况1/2=0,1/3=0。。。所以永远无法满足sum<15这个条件。

  • 慕粉1042124937
    2017-01-11 15:47:08

    试试在1/n前面加个强制类型转换