我想对从1到1/100的所有分数求和,但当我编译以下代码时,我得到了"1〃;。
#include <stdio.h>
main(){
int i,sum;
sum=0;
for (i=1;i<=100;i++){
sum=sum+(1/i);
}
printf("%d",sum);
}
for循环不应该返回吗
- i=1->sum=0+(1/1(
- i=2->sum=1+(1/2(
- i=3->sum=3/2+(1/3(
我这里缺少什么?
因为您使用整数,所以1/i
总是四舍五入到0
,所以您的和永远不会改变。将int
替换为float
或double
。