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);
}
这道题这样写,错在哪儿了?
{
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;
知道我的意思了吧!!
(1/2005-1)(1/2004-1)........(1/3-1)(1/2-1)
1+1/2+1/3+.....+1/n
1+1/2+1/3+...+1/100
1-1/2+1/3-.....-1/10
(1+1/2+1/3+1/4)×
(1-1/2)(1-1/3)(1-1/4)(1-1/5).....(1-1/1000)
1+1/(1+2)+1/(1+2+3)+...+1/(1+2+3+...+100)
1+1/(1+2)+1/(1+2+3)+-------+1/(1+2+3+----+100)
1+1/1+2+1/1+2+3+...+1/1+2+3...+2000
1+1/1+2+1/1+2+3.........+1/1+2+3.....100