1-1/2+1/3-1/4+…+1/99-1/100用C语言实现,写出明确解题步骤和算法

来源:百度知道 编辑:UC知道 时间:2024/06/04 17:33:49
main()
{
int d,i,f;
float sum;
sum=0.0;
f=1;
for(i=1;i<=100;i++)
{
f=(-1)*f;
d=(-f)*(1/i);
sum=sum+d;
}
printf("The sum is %f\n",sum);
}
这道题这样写,错在哪儿了?

其实这提的整体思路就是,偶数想是负数,奇数想是正数,然后用循环累加即可。
#include "stdio.h"
int main()
{int i;
float n;
float sum=0;
float result;
for(i=1;i<=100;i++)
{if(i%2==0)
n=-1.0/i;
else
n=1.0/i;
sum+=n;}
result=sum;
printf("result=%f\n",result);
getch();
return 0;
}

错误发生在:
d=(-f)*(1/i);
你定义的d为整型数据
改为定义成实型d;
还有1/i改成1.0/i;
语句改成:
d=(-f)*1.0/i;
知道我的意思了吧!!