为了账号安全,请及时绑定邮箱和手机立即绑定

求大神,这个怎么错了?

#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值,不知道哪里错了。


正在回答

2 回答

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

0 回复 有任何疑惑可以回复我~
#1

qq_愿时光安好_04050009 提问者

非常感谢!
2017-01-12 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Linux C语言指针与内存
  • 参与学习       116475    人
  • 解答问题       250    个

指针-C语言的核心,代领大家对c语言有更加深刻的理解

进入课程

求大神,这个怎么错了?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信