for循环
s=1+1/1*2+1/2*3+,,,,,,,+1/n(n+1)这个程序怎么写呀!我一点思路都没有!
----------------解决方案--------------------------------------------------------
1+(1/1 * 1/2)+(1/2 * 1/3)+ … +(1/n * 1/(n+1))
你可以写个函数用以计算1/n * 1/(n+1)
然后for循环调用它,把值累加
代码还是自己写吧
----------------解决方案--------------------------------------------------------
其实就等于2-1/(n+1)
----------------解决方案--------------------------------------------------------
#include <stdio.h>
main()
{int i,n;
float s=1;
printf("please input:\n" );
scanf("%d",&n);
for (i=1;i<=n;i++)
s=s+1.0/(i*(i+1));
printf("%f",s);
}
----------------解决方案--------------------------------------------------------
以下是引用爱疯了在2006-9-9 21:40:58的发言:
s=1+1/1*2+1/2*3+,,,,,,,+1/n(n+1)
这个程序怎么写呀!我一点思路都没有!
s=1+1/1*2+1/2*3+,,,,,,,+1/n(n+1)
这个程序怎么写呀!我一点思路都没有!
着个不就是等于
1 + 1/1*2 + 1/2*3 + 1/3*4 吗?
为啥是1/n(n+1)
[此贴子已经被作者于2006-9-9 22:23:04编辑过]
----------------解决方案--------------------------------------------------------
哦哦 我理解错了
----------------解决方案--------------------------------------------------------
着个简单啊 分开看不就行了吗
[1 ] + [1/1*2 ] + [ 1/2*3] + [ 1/3*4]
s=1 s=s+1/1*2 s=s+1/2*3 s=s+1/3*4
----------------解决方案--------------------------------------------------------
以下是引用Sally_SJL在2006-9-9 22:21:12的发言:
#include <stdio.h>
main()
{int i,n;
float s=1;
printf("please input:\n" );
scanf("%d",&n);
for (i=1;i<=n;i++)
s=s+1.0/(i*(i+1));
printf("%f",s);
}
#include <stdio.h>
main()
{int i,n;
float s=1;
printf("please input:\n" );
scanf("%d",&n);
for (i=1;i<=n;i++)
s=s+1.0/(i*(i+1));
printf("%f",s);
}
刚才我写的和这个一样,可就是怎么算也不对,结果发现有一个小小的问题
s=s+1.0/(i*(i+1));
这句写成了 s=s+1/(i*(i+1)); 把1改为1.0就对了,谁能解释一下?
----------------解决方案--------------------------------------------------------
以下是引用waynebeat在2006-9-9 22:30:55的发言:
刚才我写的和这个一样,可就是怎么算也不对,结果发现有一个小小的问题
s=s+1.0/(i*(i+1));
这句写成了 s=s+1/(i*(i+1)); 把1改为1.0就对了,谁能解释一下?
1/(i*(i+1)) 这是取整的
----------------解决方案--------------------------------------------------------
但我定义sum时也是float呀
----------------解决方案--------------------------------------------------------