qq_愿时光安好_04050009
2017-01-10 23:38
#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值,不知道哪里错了。
1/n 结果是int类型,所以除了当n=1时,1/1=1,其他情况1/2=0,1/3=0。。。所以永远无法满足sum<15这个条件。
试试在1/n前面加个强制类型转换
Linux C语言指针与内存
116533 学习 · 250 问题
相似问题