计算并输出下列级数和s=1+1/(1+2)+1/(1+2+3)+...+1/(1+2+3+...+n)

求帮助... 求帮助 展开
 我来答
匿名用户
2014-04-15
展开全部

你可以写个双重循环,但还有个更好的思路,增加1个变量s0专门计算分母,这样一累加就是s,这样子只要1层循环也可以完成呀,你先看看我写的代码,不懂请追问,可行望采纳:

#include <stdio.h>

int main(void)

{

    int i,n;

    double s=0,s0=0;

    printf("请出入n的值:");

    scanf("%d",&n);

    for(i=1;i<=n;i++)

    {

        s0+=i;//先计算分母

        s+=1.0/s0;//再由s0推算出s

    }

    printf("s=%lf\n",s);

    return 0;

}


验证:

n=1


n=2


n=3


嗯,写错了个字,是“请输入n的值”,你能看懂就行,望及时采纳,谢谢

追问
为什么程序在我这有错误?
追答
你好,可能是编译器的版本不同,我的C编译器是VC++6.0,你说说你的C编译器是什么,并把错误提示截个图给我看。
百度网友c990ae0
2014-04-15 · TA获得超过627个赞
知道小有建树答主
回答量:850
采纳率:0%
帮助的人:767万
展开全部
s可以认为是数列an=1/(1+2+3+······+n)的前n项和
an=1/[n(n+1)/2]=2/[n(n+1)]=2/[1/n-1/(n+1)]
所以s=2{(1-1/2)+(1/2-1/3)+(1/3-1/4)+······+1/n-1/(n+)}
=2[1-1/(n+1)]
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
White_MouseYBZ
2014-04-16 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:8161万
展开全部
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
void main(void){
int i,n,m;
double sum;
printf("Type n(integer)...\nn=");
scanf("%d",&n);
for(sum=m=0,i=1;i<=n;sum+=1.0/(m+=i++));
printf("The result is %f.\n",sum);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式