c语言计算1-1/2+1/3...-1/100的和

#include<stdio.h>
main()
{
int i;
float s=0;
for(i=0;i<=100;i++)
{
if(i%2==0)
s-=1/i;
else
s+=1/i;
}
printf("%f\n",s);
return 0;
}
编译没有错 可是运行不出来 ???
I等于1 打错

还有 不是运行不出来 运行的结果是1.0000 为什么是这个错误答案?

#include<stdio.h>
main()
{
int i;
float s=0;
for(i=1;i<=2;i++)
{
if(i%2==0)
s-=1.0/i;//1改成1.0 否则两个数为整数结果就整数,一个小于1的小数转换为整数就是0,所以结果一直是0
else
s+=1.0/i;
}
printf("%f\n",s);
return 0;
}//望采纳
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-01-06
#include<stdio.h>
main()
{
int i;
float s=0;
for(i=1;i<=100;i++)
{
if(i%2==0)
s-=1/(float)i;
else
s+=1/(float)i;
}
printf("%f\n",s);
return 0;
}

你再试试。

相似回答