#include <stdio.h>
//主要问题是 整形与浮点型之间转换精度丢失
int main(){
int i;
float sum=0.0, t=0.0; //这两个定义成浮点型,因为是要小数的
sum=0;
for(i=1;i<=50;i=i+2) {
t=1.0/i; //原定义中t是int型,t=1/t 被取整为0
sum=sum+t; //sum也是,因为是整形,加上小数会被取整
}
printf("1+1/2+1/4+……+1/50的和为:%f\n",sum);//相应输出类型也要改
}
温馨提示:答案为网友推荐,仅供参考