sum+=1/i,应该改为sum += 1.0/i
因为1和i都是整数,相除是进行整除
因为while开始时i++,所以在累加前i值已经是2
???你跟着程序走一遍就知道了,do...while循环了49次,初始化后,第一次: i++(i=1+1);sum+=1/i(sum=sum+1/i=1+1/2),完全没你说的问题啊
在c中,1/2=0,1.0/2=0.5,后面会越来越大,所以程序中sum一直加0,所以结果不对
假设你的想法是正确的,题目又是单选题,那就没有答案了。
其实答案已经解析的很清楚了,你也可以把项数减少到几项追个尝试就知道了。