求大神,這個(gè)怎么錯(cuò)了?
#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;
}
設(shè)置個(gè)循環(huán)條件,sum<15,一旦不滿足條件了就輸出n值,不知道哪里錯(cuò)了。
#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;
}
設(shè)置個(gè)循環(huán)條件,sum<15,一旦不滿足條件了就輸出n值,不知道哪里錯(cuò)了。
舉報(bào)
2017-01-11
1/n 結(jié)果是int類(lèi)型,所以除了當(dāng)n=1時(shí),1/1=1,其他情況1/2=0,1/3=0。。。所以永遠(yuǎn)無(wú)法滿足sum<15這個(gè)條件。
2017-01-11
試試在1/n前面加個(gè)強(qiáng)制類(lèi)型轉(zhuǎn)換